子类可以替换父类的位置,并且程序的功能不受影响,这个就叫里氏替换原则。
为什么?
父类指针迫切需要1个父类对象,而我们给了1个子类对象,这个完全没有问题,因为子类就是父类。
父类中拥有的成员,子类都有,所以不会影响程序的功能。
里氏替换原则表现形式:
当1个 父类指针指向1个子类对象的时候,就有了里氏替换原则。
LSP的作用:
1)1个指针不仅可以存储本类对象的地址,还可以存储子类对象的地址
2)如果1个指针的类型是NSObject类型的,那么这个指针可以存储任意的OC对象地址
3)如果1个数组的元素类型是1一个OC指针类型,那么这个数组中不仅可以存储本类对象,还可以存储子类对象
4)如果1个数组的元素是NSObject指针类型,那么yi'wei'z意味着任意的OC对象都可以存储到这个数组之中。
5)如果1个方法的参数是1个对象,那么我们在为这个参数传值的时候,可以传递1个本类的对象,也可以传递1个子类对象。
当1个父类指针指向1个子类对象的时候,通过这个父类的指针就只能去调用子类对象中的父类成员。
网友评论