OC基础-里氏替换原则12

1. 里氏替换原则 --- LSP

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


    1). 父类指针迫切的需求要1个父类对象,而我们给了1个子类对象,

    这是完全没有问题的.因为子类就是1个父类嘛.


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



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


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



3. LSP的作用。


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


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


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


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


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

    可以传递1个本类对象也可以传递1个子类对象.

    对方法中的代码不会有丝毫的影响.



4. 父类指针指向1个子类对象

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

  子类独有的成员无法访问.

  因为在编译的时候,会先检查调用的方法在指针类型类中是否存在对应的对象方法,如果没有就通不过编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值