博客列表 >第十期PHP面向对象编程的小案例(2020-01-15)

第十期PHP面向对象编程的小案例(2020-01-15)

齐齐
齐齐原创
2020年02月02日 22:54:331176浏览

面向对象编程案例一

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插入类中使用。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议