A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lijunyusmile 中级黑马   /  2016-7-9 18:16  /  684 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

     里氏替换原则 — LSP

--子类可以替换父类的位置.并且程序的功能不受影响.
为什么?

.--父类指针迫切的需求要1个父类对象,而我们给了1个子类对象,
这是完全没有问题的. 因为子类就是1个父类嘛.

. 因为父类中拥有的成员 子类都有. 所以不会影响程序的功能.

里氏替换原则的表现形式.

当1个父类指针指向1个子类对象的时候,这里就有里氏替换原则.
LSP的作用。

. 1个指针中不仅可以存储本类对象的地址还可以存储子类对象的地址.

. 如果1个指针的类型是NSObject类型的,那么这个指针中可以存储任意的OC对象的地址.

. 如果1个数组的元素的类型是1个OC指针类型的 那么这个数组中不仅可以存储本类对象还可以存储子类对象.

. 如果1个数组的元素是NSObject指针类型 那么意味着任意的OC对象都可以存储到这个数组之中.

. 如果1个方法的参数是1个对象,那么我们在为这个参数传值的时候.

可以传递1个本类对象 也可以传递1个子类对象.
对方法中的代码不会有丝毫的影响.
当1个父类指针指向1个子类对象的时候.

这个时候,通过这个父类指针就只能去调用子类对象中的父类成员.
子类独有的成员无法访问.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马