OC__part11.3
继承
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相关推荐
- OC__part11.2
作用范围:全局变量>成员变量>局部变量 覆盖顺序:全局变量<成员变量<局部变量 成员变量 @interface IPhone : NSObject { int _weight ...
- OC__part11.1
self *******self*******是脱离不了方法的**********不能在main中使用: 对象方法:直接访问成员变量 类方法:不能直接访问成员变量 1.类方法中的self 一个类有且只 ...
- OC__part11
setter方法 用来设置成员变量,可以在方法里过滤掉一些不合理的值 1.必须是对象方法 2.返回值类型为void 3.方法名为set开头,成员变量名去掉"_",首字母大写:参数类 ...
最新文章
- 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真教程.doc
- dds设计信号发生器
- [Luogu 3835]【模板】可持久化平衡树
- 成熟有家男人与24岁女孩的精彩对白[推荐]
- 51单片机——LCD12864
- 《信号检测与估值理论》Matlab仿真,包括: 高斯-牛顿迭代法对正弦信号参数进行估计
- Tensorflow2.0之语言模型数据集(周杰伦专辑歌词)预处理
- 基于android酒店点餐系统设计,基于Android的餐厅点餐系统的设计与实现
- 神奇的零知识证明,既能保守秘密,又能让别人信你!
- 解析XML文档之一:使用SAX解析
- C语言:从键盘输入一个整数,分别输出它的个位数、十位数、百位数.....
- 可编程并行通信接口8255A
- 可以播放音乐的微信小程序源码(仿Apple音乐)
- Mn0.15V2O5·nH2O锌离子电池正极材料的储锌性能/Co@CNTs催化改性MgH2|碳纳米管原位负载Co纳米颗粒(Co@CNTs)催化剂
- [VisionPro] CogPMAlignTool 工具详解
- 英语四级真题作文 计算机,2017年6月英语四级作文真题及范文:卖电脑
- 关于眼镜保护的几点做法
- mac外接显示器 竖屏 黑苹果_Surface Pro6黑苹果外接显示器开启原生HiDPi显示效果...
- 进度条线程怎么用java,多线程 进度条 java
- 【行研报告】3C数码行业手机品牌社媒营销报告—附下载
热门文章
- CIKM 2021 | Deep Retrieval:字节跳动深度召回模型论文精读
- FlatNCE:小批次对比学习效果差的原因竟是浮点误差?
- CycleGAN:图片风格,想换就换 | ICCV 2017论文解读
- Mixup vs. SamplePairing:ICLR2018投稿论文的两种数据增广方式
- 一文读懂「Attention is All You Need」| 附代码实现
- java继承和派生4.4- 4.52020.3.24
- android获取apk名称_安卓逆向——APK安装流程
- findfirstfile函数为什么不能遍历doc_编程之美:IO多路复用——记性不好的poll函数...
- springboot+springsecurity+mybatis plus注解实现对方法的权限处理
- Spring Boot——LocalDateTime格式化配置