继承

B类继承A类,那么B类将拥有A类所有属性和方法;

基类的私有属性能被继承,不能再子类中访问;

要访问,就要在基类中声明一个方法,来访问;

#import "Base":NSObject
@interface subClass :Base//继承于Base
{
}
@end
@implementation subClass-(void)sayAge{
[self setAge:3];//用基类的方法来访问,基类的私有属性
}
@end

不涉及继承@protect就是@private; @protect

基类的属性如果是

public 修饰的,那么可以在派生类中可以直接使用,在使用派生类对象->属性 =3 ,也是可以的;

private修饰的,那么派生类方法是不可以使用的,只能通过方法来使用;使用派生类->属性  也是error的

protect修饰的,那么派生类的方法是可以直接使用的,使用派生类对象->属性 是error的;

OC的继承是单继承,不能继承多个类;

子类和父类的关系也成为isa的关系;


方法重写


如果方法重写了,则调用的是子类的方法;

如果子类中没有改方法,则调用基类的方法;

[self  setAge];//在子类中调用本类的方法;

[super  setAge];//在子类中调用被子类重写的父类的方法;

子类中不能定义父类所拥有的成员变量;

Super关键字


作用:

1.调用父类当中的某个方法;

2.super在对象方法中,那么会调用父类的对象方法;super在类方法中,那么会调用父类的类方法;

多态

多态就是某一类事物的多种形态;

程序中:父类指针指向子类对象;

条件:

1.有继承关系

2.子类重写父类方法

3.用父类的指针指向子类的对象

动物 *a =[猫 new];

用父类的指针来指向子类,执行方法,其实就是执行子类的那个方法。

Animal *pa =[Animal new];

[pa call];//调用的Animal的方法

Dog *pb =[Dog new];

[pb call]//调用Dog的方法

Animal *pc = [Dog new];

[pc call];//调用Dog的方法

不涉及继承@protect就是@private; @protect

OC__part11.3相关推荐

  1. OC__part11.2

    作用范围:全局变量>成员变量>局部变量 覆盖顺序:全局变量<成员变量<局部变量 成员变量 @interface IPhone : NSObject { int  _weight ...

  2. OC__part11.1

    self *******self*******是脱离不了方法的**********不能在main中使用: 对象方法:直接访问成员变量 类方法:不能直接访问成员变量 1.类方法中的self 一个类有且只 ...

  3. OC__part11

    setter方法 用来设置成员变量,可以在方法里过滤掉一些不合理的值 1.必须是对象方法 2.返回值类型为void 3.方法名为set开头,成员变量名去掉"_",首字母大写:参数类 ...

最新文章

  1. 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真教程.doc
  2. dds设计信号发生器
  3. [Luogu 3835]【模板】可持久化平衡树
  4. 成熟有家男人与24岁女孩的精彩对白[推荐]
  5. 51单片机——LCD12864
  6. 《信号检测与估值理论》Matlab仿真,包括: 高斯-牛顿迭代法对正弦信号参数进行估计
  7. Tensorflow2.0之语言模型数据集(周杰伦专辑歌词)预处理
  8. 基于android酒店点餐系统设计,基于Android的餐厅点餐系统的设计与实现
  9. 神奇的零知识证明,既能保守秘密,又能让别人信你!
  10. 解析XML文档之一:使用SAX解析
  11. C语言:从键盘输入一个整数,分别输出它的个位数、十位数、百位数.....
  12. 可编程并行通信接口8255A
  13. 可以播放音乐的微信小程序源码(仿Apple音乐)
  14. Mn0.15V2O5·nH2O锌离子电池正极材料的储锌性能/Co@CNTs催化改性MgH2|碳纳米管原位负载Co纳米颗粒(Co@CNTs)催化剂
  15. [VisionPro] CogPMAlignTool 工具详解
  16. 英语四级真题作文 计算机,2017年6月英语四级作文真题及范文:卖电脑
  17. 关于眼镜保护的几点做法
  18. mac外接显示器 竖屏 黑苹果_Surface Pro6黑苹果外接显示器开启原生HiDPi显示效果...
  19. 进度条线程怎么用java,多线程 进度条 java
  20. 【行研报告】3C数码行业手机品牌社媒营销报告—附下载

热门文章

  1. CIKM 2021 | Deep Retrieval:字节跳动深度召回模型论文精读
  2. FlatNCE:小批次对比学习效果差的原因竟是浮点误差?
  3. CycleGAN:图片风格,想换就换 | ICCV 2017论文解读
  4. Mixup vs. SamplePairing:ICLR2018投稿论文的两种数据增广方式
  5. 一文读懂「Attention is All You Need」| 附代码实现
  6. java继承和派生4.4- 4.52020.3.24
  7. android获取apk名称_安卓逆向——APK安装流程
  8. findfirstfile函数为什么不能遍历doc_编程之美:IO多路复用——记性不好的poll函数...
  9. springboot+springsecurity+mybatis plus注解实现对方法的权限处理
  10. Spring Boot——LocalDateTime格式化配置