首页 > 其他分享 >里氏替换原则(LSP)

里氏替换原则(LSP)

时间:2023-01-26 18:11:44浏览次数:133  
标签:重写 里氏 成员 LSP 子类 父类 方法 替换

他是最基础的设计模式,里氏替换原则要求,任何父类出现的地方子类一定可以出现,子类可以在父类基础上扩展新功能。

注意:

1.用父类接受的子类对象,是没有办法使用子类的方法和其他成员的。

2.如果子类拥有与父类相同的成员或方法和其他非私有成员,默认为隐藏(new),如果类型声明是父类那么调用父类的非私有成员,特别注意隐藏不是覆盖。

 

虚方法 virtual

虚方法需要使用virtual关键字声明,子类可以使用override关键字重写父类方法,虚方法有它适合的场景,如果只是单纯的重写过后不管了,那不如使用另一个叫抽象方法的东西。如果您使用的是虚方法一般情况下,子类重写父类的方法是作为父类方法的功能扩展!子类重写方法执行完后,一般还需要执行父类的虚方法。(比如 EF Core DbContext 中的 OnConfiguring)

 

标签:重写,里氏,成员,LSP,子类,父类,方法,替换
From: https://www.cnblogs.com/hljjway/p/17067995.html

相关文章