• 售前

  • 售后

热门帖子
入门百科

PHP面向对象之里氏替换原则简单示例

[复制链接]
白刃玄衣及 显示全部楼层 发表于 2021-10-25 20:05:20 |阅读模式 打印 上一主题 下一主题
本文实例陈诉了PHP面向对象之里氏更换原则。分享给各人供各人参考,具体如下:
里氏更换原则(Liskov Substitution Principle)
里氏更换原则告诉我们,在软件中将一个基类对象更换成它的子类对象,步伐将不会产生任何错误和非常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定可以大概使用基类对象。里氏更换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此在步伐中尽量使用基类范例来对对象举行界说,而在运行时再确定其子类范例,用子类对象来更换父类对象。
使用里氏更换原则时必要留意,子类的全部方法必须在父类中声明,或子类必须实现父类中声明的全部方法。尽量把父类计划为抽象类大概接口,让子类继承父类或实现父接口,并实现在父类中声明的方法,运行时,子类实例更换父类实例,我们可以很方便地扩展体系的功能,同时无须修改原有子类的代码,增长新的功能可以通过增长一个新的子类来实现。
通过一段代码相识
  1. <?php
  2. //例子1
  3. class Bird{
  4.   protect function fly(){
  5.   }
  6. }
  7. //翠鸟
  8. class KingFisher extends Bird{
  9. }
  10. //鸵鸟
  11. class Ostrich extends Bird{
  12.   //鸵鸟不会飞啊
  13. }
  14. //例子2
  15. class A{
  16.   protect function add($a, $b){
  17.     return $a + $b;
  18.   }
  19. }
  20. //重载
  21. class B extends A{
  22.   protected function add($a, $b){
  23.     return $a + $b + 100;
  24.   }
  25. }
  26. ?>
复制代码
里氏更换原则是对类继承的一种束缚。对里氏更换原则有两种理解:
1. 不能随便去继承不符合的,有多余方法大概属性的类。(例子1)
2. 子类可以扩展父类的功能,但不能改变父类原有的功能。(例子2)
里氏更换原则包罗一下几个潜伏寄义:
① 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
② 子类中可以增长自己特有的方法。
③ 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
④ 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严酷。
更多关于PHP相关内容感爱好的读者可查察本站专题:《php面向对象步伐计划入门教程》、《PHP数组(Array)操纵本领大全》、《PHP根本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操纵入门教程》及《php常见数据库操纵本领汇总》
盼望本文所述对各人PHP步伐计划有所资助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作