当前位置 博文首页 > 文章内容

    cc分享php:关于类继承的三大功能和抽象类的作用与实现和接口的基本语法

    作者: 栏目:未分类 时间:2020-06-29 10:33:53

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    类的三大功能

    序号名称说明
    1 继承 extends 父类的二类成员自动成为子类的成员
    2 重写 覆写与父类/基类同名的成员(属性, 方法)
    3 拓展 子类添加自身的方法来增加/扩展父类的功能

    序号封装说明
    1 public 公开成员,默认值, 类外部, 类内部, 以及类的子类中(类的继承上下文环境中)
    2 proteced 受保护的成员, 类外部禁止访问, 但是类的内部以及它的继承上下文中可以访问
    3 private 私有成员, 除了当前类可以访问, 类的外部以及类的继承上下文中都禁止访问

    1.继承 : 子类继承基类的成员

    1. <?php
    2. // 基类 Demo
    3. // public: 公开成员
    4. // protected: 受保护的成员
    5. //private: 私有成员
    6. class Demo
    7. {
    8. //受保护成员 $name
    9. protected $name = 'iphone11' ;
    10. //受保护成员 $system
    11. protected $system = 'ios';
    12. //公开成员 $price
    13. public $price = 5888 ;
    14. //函数 items() 拼接类成员
    15. public function items()
    16. {
    17. return "手机:{$this->name} , 系统:{$this->system} , 价格:{$this->price}";
    18. }
    19. }
    20. //子类 US 继承 父类 Demo 里面的成员,
    21. class US extends Demo
    22. {
    23. }
    24. //对象 $acc
    25. $acc = new US ;
    26. echo $acc->items() ;
    27. //输出结果
    28. //手机:iphone11 , 系统:ios , 价格:5888
    29. ?>

    2.重写与基类同名的成员

    1. <?php
    2. // 父类 Demo
    3. // public: 公开成员
    4. // protected: 受保护的成员
    5. //private: 私有成员
    6. class Demo
    7. {
    8. //受保护成员 $name
    9. protected $name = 'iphone11' ;
    10. //受保护成员 $system
    11. protected $system = 'ios';
    12. //公开成员 $price
    13. public $price = 5888 ;
    14. //函数 items() 拼接类成员
    15. public function items()
    16. {
    17. return "手机:{$this->name} , 系统:{$this->system} , 价格:{$this->price}";
    18. }
    19. }
    20. //子类 US 继承 父类 Demo 里面的成员,
    21. //我们将在子类重写基类
    22. class US extends Demo
    23. {
    24. // 属性价格重写 5888-> 6888
    25. public $price = 6888 ;
    26. //属性内容重写
    27. public function items2()
    28. {
    29. return parent::items().",太贵了买不起~";
    30. }
    31. }
    32. //对象 $acc
    33. $acc = new US ;
    34. echo $acc->items2() ;
    35. //输出结果
    36. //手机:iphone11 , 系统:ios , 价格:6888,太贵了买不起~
    37. ?>

    3.拓展:子类添加自身的方法来增加

    1. <?php
    2. // 父类 Demo
    3. // public: 公开成员
    4. // protected: 受保护的成员
    5. //private: 私有成员
    6. class Demo
    7. {
    8. //受保护成员 $name
    9. protected $name = 'iphone11' ;
    10. //受保护成员 $system
    11. protected $system = 'ios';
    12. //公开成员 $price
    13. public $price = 5888 ;
    14. //函数 items() 拼接类成员
    15. public function items()
    16. {
    17. return "手机:{$this->name} , 系统:{$this->system} , 价格:{$this->price}";
    18. }
    19. }
    20. //子类 US 继承 父类 Demo 里面的成员,
    21. //我们将在子类重写基类
    22. class US extends Demo
    23. {
    24. //1.重写
    25. // 属性价格重写 5888-> 6888
    26. public $price = 6888 ;
    27. //属性内容重写
    28. public function items2()
    29. {
    30. return parent::items().",太贵了买不起~";
    31. }
    32. //2.拓展
    33. //折扣 0.9
    34. public $discount = 0.9 ;
    35. public function items3()
    36. {
    37. return parent::items().",太贵了买不起~给打{$this->discount}折";
    38. }
    39. }
    40. //对象 $acc
    41. $acc = new US ;
    42. echo $acc->items3() ;
    43. //输出结果
    44. //手机:iphone11 , 系统:ios , 价格:6888,太贵了买不起~给打0.9折?>

    熘鱼肚网 衡阳网 凤穿金衣网 滑溜鹌鹑网 众心塔 牡丹蝎托网 迈凯轮车队官方网站
    创富原创小说网 瑞时小说网 道基原创小说网 红牛公司无弹窗小说网


    抽象类的作用与实现

    1. <?php
    2. // 抽象类 abstract Demo
    3. abstract class Demo
    4. {
    5. protected $name = "张启灵";
    6. protected $age = 26 ;
    7. protected function flgure()
    8. {
    9. return "姓名:{$this->name},年龄:{$this->age}";
    10. }
    11. abstract protected function flgure2();
    12. }
    13. //抽象类不能直接实例化
    14. abstract class OS extends Demo
    15. {
    16. protected $professional = '盗墓贼';
    17. protected function flgure2()
    18. {
    19. return parent::flgure() . ",职业:{$this->professional}";
    20. }
    21. }
    22. //最终用工作类实例化抽象类Demo
    23. class USa extends OS
    24. {
    25. public function flgure2()
    26. {
    27. return parent::flgure2() ;
    28. }
    29. }
    30. $abc = new USa ;
    31. echo $abc->flgure2();
    32. //输出结果
    33. //姓名:张启灵,年龄:26,职业:盗墓贼
    34. ?>阜新市地暖科技有限责任公司|贵港市形象策划经销部|亳州市装饰设计培训中心|以杀止杀网|拌稂子网|议论纷纷网|简历吧|锅烧鸡网|龙潜凤采网|云起龙骧网|一字不苟网|中鸽网

    接口的基本语法

    1. <?php
    2. // 接口关键字 :interface
    3. interface Demo
    4. {
    5. const NATION = "中国";
    6. public static function obj() ;
    7. }
    8. class OS implements Demo
    9. {
    10. public static $name = '吴邪';
    11. public static function obj()
    12. {
    13. return self::$name . "国籍:" . Demo::NATION;
    14. }
    15. }
    16. echo OS::obj() ;
    17. //输出结果
    18. //吴邪国籍:中国
    19. ?>

    有很多地方非常不熟练,还得做很多实际操作才行,感谢老师和平台!