name">
当前位置:Gxlcms > PHP教程 > 新人学习PHP问题,发现书上代码不对

新人学习PHP问题,发现书上代码不对

时间:2021-07-01 10:21:17 帮助过:2人阅读

PHP 基础 继承

在书上发现一段代码,敲下来后发现不对。。
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"><!--?php
  2. class Person
  3. {
  4. private $name;
  5. private $sex;
  6. private $age;
  7. function __construct($name="",$sex="男",$age=23)
  8. {
  9. $this--->name=$name;
  10. $this->sex=$sex;
  11. $this->age=$age;
  12. }
  13. function say()
  14. {
  15. echo "我的名字 ".$this->name.",性别 ".$this->sex.",年龄 ".$this->age."<br>";
  16. }
  17. function run()
  18. {
  19. echo $this->name."正在走路<br>";
  20. }
  21. }
  22. class Student extends Person
  23. {
  24. var $school;
  25. function study()
  26. {
  27. echo $this->name."正在".$this->school."学习<br>";
  28. }
  29. }
  30. class Teacher extends Student
  31. {
  32. var $wage;
  33. function teaching()
  34. {
  35. echo $this->sex."正在".$this->school."教学,每个月工资为".$this->wage."<br>";
  36. }
  37. }
  38. $teacher1=new Teacher("张三","男",40);
  39. $teacher1->school="沈阳工学院";
  40. $teacher1->wage=3000;
  41. $teacher1->say();
  42. $teacher1->run();
  43. $teacher1->teaching();?>

这里Teacher类中的teaching方法或不去不到$this->name。。书上却写可以获取的到,是我哪里写错了吗?


回复讨论(解决方案)

是$this->sex获取不到数据。

额。。。。我马虎了,上面变量定义的是private属性,当然获取不到。。。

同样菜的鸟飞过.........

你没错,书上也没错!
只不过是错误检查的级别不同而已

error_reporting = E_ALL ^ E_NOTICE
就一致了

你没错,书上也没错!
只不过是错误检查的级别不同而已

error_reporting = E_ALL ^ E_NOTICE
就一致了 版主强大,耳目一新,不明觉厉,加油奋进!

private $name;
private $sex;
private $age;
private改成public

人气教程排行