day13-封装继承多态 ---- iOS

day13 封装\继承\多态

监听属性

set 方法可以监听属性的变化.

自定义代码块路径

自定义代码块路径:
/Users/yaoying/Library/Developer/Xcode/UserData/CodeSnippets

点语法

点语法是编译器特性,在编译成代码时编译器会将代码变成调用方法(set/get方法).

day13-封装继承多态 ---- iOS_第1张图片
point.png

self 注意点

- 在settger/getter方法中使用self.来赋值取值,可能会导致死循环.
day13-封装继承多态 ---- iOS_第2张图片
self.png

继承

  • 需要满足 is a 关系.
  • 子类中不能定义同名属性,可以写同名方法(重写).
  • 继承优缺点
    • 缺点:继承提高了代码的耦合性.
day13-封装继承多态 ---- iOS_第3张图片
继承优缺点.png

多态

  • 多态定义:在OC中如果使用父类指针保存子类对象,就称为多态.
day13-封装继承多态 ---- iOS_第4张图片
多态定义.png
  • 多态应用如:在申明和实现一个方法中使用父类作为参数,但在调用时使用子类.
day13-封装继承多态 ---- iOS_第5张图片
多态应用.png
  • 多态注意点:
    • 编译看左边,运行看右边
    • OC是动态语言,他会在运行时动态的去判断参数的真实类型,然后再调用真实类型中对应的方法.
    • 如果编译时保存对象的指针中每一需要调用的方法,那么就会报错
day13-封装继承多态 ---- iOS_第6张图片
多态注意点.png

你可能感兴趣的:(day13-封装继承多态 ---- iOS)