PHP7.2如何处理父类方法被忽略与Liskov替换原则冲突问题?

2026-04-03 12:270阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1728个文字,预计阅读时间需要7分钟。

PHP7.2如何处理父类方法被忽略与Liskov替换原则冲突问题?

PHP 7.2 子类覆盖方法注意事项:- 参数类型功能- Liskov 替换原则

PHP 7.2 新版本更新:- 新增功能- 优化与改进

关注 PHP 发展,建议查看相关文档。以下为简述:

PHP 7.2 子类覆盖方法:- 注意参数类型- 遵循 Liskov 替换原则

PHP 7.2 新版本:- 新增特性- 优化改进- 发展关注

细说 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 版本之前是会报错的 }

我看有些网站介绍此功能的时候,说其目的是为了『方便重构。如果以后父类方法的参数类型变了,子类不用再全部换一遍』。听起来好像很有道理。按这说法,隐含的意思是:如果子类忽略了父类方法参数类型,被调用时还是会检查参数类型。

阅读全文

本文共计1728个文字,预计阅读时间需要7分钟。

PHP7.2如何处理父类方法被忽略与Liskov替换原则冲突问题?

PHP 7.2 子类覆盖方法注意事项:- 参数类型功能- Liskov 替换原则

PHP 7.2 新版本更新:- 新增功能- 优化与改进

关注 PHP 发展,建议查看相关文档。以下为简述:

PHP 7.2 子类覆盖方法:- 注意参数类型- 遵循 Liskov 替换原则

PHP 7.2 新版本:- 新增特性- 优化改进- 发展关注

细说 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 版本之前是会报错的 }

我看有些网站介绍此功能的时候,说其目的是为了『方便重构。如果以后父类方法的参数类型变了,子类不用再全部换一遍』。听起来好像很有道理。按这说法,隐含的意思是:如果子类忽略了父类方法参数类型,被调用时还是会检查参数类型。

阅读全文