第五课 多态概念、里氏替换原则

1.LSP
--里氏替换原则:子类可以替换父类的位置,并且不影响程序。
--父类有的功能子类都有,但是子类可以在子类的基础上,添加功能。

2.父类变量指向一个子类对象的时候,只能通过这个父类的成员,子类独有的成员无法调用。

3.类型转化
--必须有继承关系,才能使用强制转换。
--如果一个父类对象,指向的就是一个父类对象,将这个父类对象转化成子类对象的会报异常。
--如果一个父类变量指向了一个子类对象,那么可以将这个父类对象转换为子类对象。

4.is关键字
--判断变量是否是指定的类型。
--如果没有继承关系,返回值永远都是false。

5.as关键字
--as转换如果转换成功,引用指向指定变量,如果转换失败,不报异常,返回null。

6.虚方法
--被virtual修饰的方法就叫虚方法。
--虚方法可在子类中重写。
--子类中被override修饰的、与父类同名的方法将会替换父类的虚方法,实现方法的重写。
--通过父类变量来调用虚方法,若子类重写,则调用子类,否则还是父类的虚方法。

7.多态
--同一种行为,对于不同的事物,有不同的表现形式。
--多态的表现形式之一:将父类类型作为方法的参数。
--多态的表现形式之二:将父类类型作为返回值。
--屏蔽多个子类的不同,将多个子类当成父类来处理。
--继承是为了多态、拓展、开闭原则。
--多态基于继承。

(新手学习笔记,如有错误,请联系我,帮我更好的学习C#。)

原文地址:https://www.cnblogs.com/AspireSoumns/p/4947366.html