Blogger Information
Blog 22
fans 1
comment 0
visits 17692
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第十期PHP面向对象编程的小案例(2020-01-15)
齐齐
Original
1169 people have browsed it

面向对象编程案例一

php代码

  1. // 面向对象编程分为三部
  2. // 1.创建类
  3. class Demo1
  4. {
  5. // 2.增加类成员
  6. // 创建一个属性
  7. public $name="qiqi";
  8. public $age=18;
  9. // 创建一个方法
  10. public function getName()
  11. {
  12. // 实例化类
  13. $name= new Demo1();
  14. return $name->name;
  15. }
  16. }
  17. // 3.访问类成员
  18. $name= new Demo1();
  19. // 访问类成员:方法
  20. echo $name-> getName();
  21. echo "<br>";
  22. // 访问类成员:属性
  23. echo $name-> age;

运行结果

面向对象编程案例二

php代码

  1. // 面向对象编程分为三部
  2. // 1.创建类
  3. class Demo2
  4. {
  5. // 2.增加类成员
  6. // 创建一个属性
  7. public $name="qiqi";
  8. public $age=18;
  9. // 创建一个方法
  10. public function getName()
  11. {
  12. // 实例化类
  13. // 当前类中引用自己;selg
  14. // $name= new self();
  15. // return $name->name;
  16. return $this->name;
  17. }
  18. public function getAge()
  19. {
  20. // 实例化类
  21. // $name= new self();
  22. // return $name->age;
  23. return $this->age;
  24. }
  25. }
  26. // 3.访问类成员
  27. $name= new Demo2();
  28. // 访问类成员:方法
  29. echo $name-> getAge();
  30. echo "<br>";
  31. // 访问类成员:属性
  32. echo $name-> name;

运行结果

面向对象编程案例三

php代码

  1. // 1.创建类
  2. class Demo3
  3. {
  4. // 2.增加类成员
  5. // 创建一个属性
  6. public $name;
  7. public $age=18;
  8. // 创建一个方法
  9. public function getName()
  10. {
  11. // 实例化类
  12. // 当前类中引用自己;selg
  13. // $name= new self();
  14. // return $name->name;
  15. return $this->name;
  16. }
  17. public function __construct($name)
  18. {
  19. $this->name=$name;
  20. }
  21. }
  22. // 3.访问类成员
  23. $name= new Demo3("齐齐");
  24. // 访问类成员:方法
  25. echo $name-> getName();
  26. echo "<br>";
  27. // 访问类成员:属性
  28. echo $name-> age;

运行结果

面向对象编程案例四

php代码

  1. // 类成员的访问控制
  2. // 1.创建类
  3. class Demo4
  4. {
  5. // 2.增加类成员
  6. // 创建一个属性
  7. // public $name;
  8. private $name;
  9. public $age=18;
  10. // 创建一个方法
  11. public function getName()
  12. {
  13. // 实例化类
  14. // 当前类中引用自己;selg
  15. // $name= new self();
  16. // return $name->name;
  17. return $this->name;
  18. }
  19. public function __construct($name)
  20. {
  21. $this->name=$name;
  22. }
  23. }
  24. // 3.访问类成员
  25. $name= new Demo4("齐齐");
  26. // 访问类成员:方法
  27. echo $name-> getName();
  28. echo "<br>";
  29. // 访问类成员:属性
  30. echo $name-> name;

运行结果

面向对象编程案例五

php代码

  1. // 类的继承
  2. // 1.创建类
  3. class Demo5
  4. {
  5. // 2.增加类成员
  6. // 创建一个属性
  7. // public $name;
  8. // private $name;
  9. protected $name;
  10. // 创建一个方法
  11. public function getName()
  12. {
  13. // 实例化类
  14. // 当前类中引用自己;selg
  15. // $name= new self();
  16. // return $name->name;
  17. return "姓名:".$this->name;
  18. }
  19. public function __construct($name="qoiqi")
  20. {
  21. $this->name=$name;
  22. }
  23. }
  24. // son继承Demo5类
  25. class Son extends Demo5
  26. {
  27. public function getName()
  28. {
  29. // 实例化类
  30. // 当前类中引用自己;self
  31. // $name= new self();
  32. // return $name->name;
  33. // return $this->name;
  34. return parent::getName()."&nbsp;年龄:".$this->age;
  35. }
  36. // 自由属性增加
  37. public $age=18;
  38. public function __construct($name,$age=18)
  39. {
  40. parent::__construct($name);
  41. $this->age=$age;
  42. }
  43. }
  44. // 3.访问类成员
  45. $name= new Demo5();
  46. // 访问类成员:方法
  47. // echo $name-> getName();
  48. // echo "<br>";
  49. // 访问类成员:属性
  50. // echo $name-> name;
  51. // 实例化子类
  52. $son= new Son("张三",19);
  53. // echo $son-> name;
  54. echo $son-> getName();

运行结果

面向对象编程案例六

php代码

  1. // 创建trait方法集
  2. trait Com
  3. {
  4. public function __construct($name="", $age="")
  5. {
  6. $this->name = $name;
  7. $this->age = $age;
  8. }
  9. public function getInfo()
  10. {
  11. return $this->name."&nbsp;年龄:".$this->age;
  12. }
  13. }
  14. // 1.创建类
  15. class Demo6
  16. {
  17. // 插入trait方法集
  18. use Com;
  19. // 2.增加类成员
  20. public $name;
  21. protected $age;
  22. }
  23. class Sub extends Demo6
  24. {
  25. // 子类属性
  26. protected $times;
  27. public function __construct($name="", $age="",$times="")
  28. {
  29. // 重写父类中的构造方法
  30. parent::__construct($name, $age);
  31. $this->times = $times;
  32. }
  33. // 重写父类中的getInfo方法
  34. public function getInfo()
  35. {
  36. return "我是".$this->times.":".parent::getInfo();
  37. }
  38. }
  39. // 3.访问类成员
  40. $sub=new Sub("齐齐",18,"第十期");
  41. echo $sub->getInfo();

运行结果

学习总结

1.面向对象编程分为三步,1,创建类;2.增加类成员;3.访问类成员。

2.创建类用关键字class,实例化类关键字new,引用当前类关键字self,引用当前类的实例关键字$this,对象访问符->.

3.构造函数,在类的实例化时被自动调用,不需要主动去调用。类成员初始化和连接数据库类似的自动操作可以放在里面。

4.类成员的访问限制,最严格的是private,只允许类中访问,类外和上下文都不允许。其次是protected,除了能在当前类访问,还能再子类中访问。然后是public,类中,类外,子类中都可以访问。

5.继承关键字extends,子类除了父类所有满足条件的类成员外,还能重写扩展。引用当前父类的方法关键字parent+范围i解析符::,提高代码的可读性.

6.trait方法集小范围的突破php单继承,实现了代码的复用。声明用的类的方法,但不属于类,不能实例化。通过使用关键字use插入类中使用。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:trait准确的说, 应该是提取类中的公共成员, 进行类级别的成员共享, 因为这部分共享成员实在不值得去创建父类或接口
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post