PHP7.2如何处理父类方法被忽略与违反Liskov替换原则的关联问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1782个文字,预计阅读时间需要8分钟。
PHP 7.2 子类覆盖方法需要注意参数类型和功能,遵循Liskov替换原则。PHP 7.2 引入后,版本更新带来新特性,关注PHP发展,了解新改动。以下简要说明:
1. 子类覆盖方法需注意参数类型和功能,确保兼容性。
2.Liskov替换原则要求子类能被父类替代而不影响程序行为。
3.PHP 7.2 及后续版本更新,关注新特性,如类型声明、属性读取器等。
4.了解PHP发展,关注新版本改动,提升编程技能。
细说 PHP 7.2 子类覆盖方法省略参数类型功能以及 Liskov 替换原则PHP 7.2 出来也有段时间了,关于新版本有什么新改进,只要你关心 PHP 的发展,应该都看过。这里只细说一个可能会有误解的新功能。
PHP 7.2 可以在当子类覆盖(override)父类方法的时候,忽略父类方法的定义的参数的类型(type hint):
class Foo { public function bar(SomeClass $obj) {} } class Foobar extends Foo { public function bar($obj) {} // 这在 PHP7.2 版本之前是会报错的 }
我看有些网站介绍此功能的时候,说其目的是为了『方便重构。如果以后父类方法的参数类型变了,子类不用再全部换一遍』。听起来好像很有道理。按这说法,隐含的意思是:如果子类忽略了父类方法参数类型,被调用时还是会检查参数类型。
本文共计1782个文字,预计阅读时间需要8分钟。
PHP 7.2 子类覆盖方法需要注意参数类型和功能,遵循Liskov替换原则。PHP 7.2 引入后,版本更新带来新特性,关注PHP发展,了解新改动。以下简要说明:
1. 子类覆盖方法需注意参数类型和功能,确保兼容性。
2.Liskov替换原则要求子类能被父类替代而不影响程序行为。
3.PHP 7.2 及后续版本更新,关注新特性,如类型声明、属性读取器等。
4.了解PHP发展,关注新版本改动,提升编程技能。
细说 PHP 7.2 子类覆盖方法省略参数类型功能以及 Liskov 替换原则PHP 7.2 出来也有段时间了,关于新版本有什么新改进,只要你关心 PHP 的发展,应该都看过。这里只细说一个可能会有误解的新功能。
PHP 7.2 可以在当子类覆盖(override)父类方法的时候,忽略父类方法的定义的参数的类型(type hint):
class Foo { public function bar(SomeClass $obj) {} } class Foobar extends Foo { public function bar($obj) {} // 这在 PHP7.2 版本之前是会报错的 }
我看有些网站介绍此功能的时候,说其目的是为了『方便重构。如果以后父类方法的参数类型变了,子类不用再全部换一遍』。听起来好像很有道理。按这说法,隐含的意思是:如果子类忽略了父类方法参数类型,被调用时还是会检查参数类型。

