继承的使用--笔记
来源:互联网 发布:pdg for mac 编辑:程序博客网 时间:2024/05/18 00:45
举个例子,当我们要定义猫和狗两个对象的时候,狗和猫都具有体重、毛色、品种、年龄等属性以及吃、叫、跑、跳等方法。那么我们在声明和实现这两个类对象的时候我们就会需要两段重复很多的代码,而且若有更多的相同的特征,重复的代码会更多,那么我们以后若是要改代码的时候就需要修改两处或者多处的代码,一旦有一处没有修改就会出现各种各样奇怪的错误,所以在这里我们要使用继承的特征。继承,如表面特征,继承自父类的一些特性。
比如说,我们定义了一个名位animal 的父类,他具有具有体重、毛色、品种、年龄等属性以及吃、叫、跑、跳等方法,那么我们在定义猫..等其他子类的时候就不需要去重复的定义这些特性,当使用类继承的时候会继承来自父类的相应特征。
@interface Animal : NSObject
{
NSString * _name;
}
-(void)setName:(NSString * )name;
-(void)eat:(NSString *)foodname;
@end
@implementation Animal
-(void)setName:(NSString * )name{
_name = name;
}
-(void)eat:(NSString *)foodname{
NSLog(@"%@吃食物%@",_name,foodname);
}
@end
#pragma mark Dog
@interface Dog : Animal
-(void)kanmen;
@end
@implementation Dog
-(void)kanmen{
NSLog(@"wang,wang...");
}
-(void)eat:(NSString *)foodname{
NSLog(@"%@吃点。。。%@",_name,foodname);
}
@end
#pragma mark Cat
@interface Cat : Animal
-(void)zhualaoshu;
@end
@implementation Cat
-(void)zhualaoshu{
NSLog(@"miao,miao...");
}
@end
那么我们看猫和狗这两个类,都是继承自animal类,都拥有了animal类的_name属性,那么我们在实例化一个dog类的时候我们可以不用在dog里写_name变量,而去使用这个变量,相同方法也是同理。
继承的语法:@interface Dog : Animal
在进行类的声明的时候在本类名后边冒号的后边则是本类的父类名,若没有父类则需要填写位NSObjecj,NSObject是所有类的基类。
- 继承的使用--笔记
- 【笔记】封装可使用的构造函数继承
- 学习笔记:Liskov替换原则和继承的使用
- java学习笔记(一) 继承的使用情况
- 类的继承笔记
- 继承的学习笔记
- 对于继承的笔记
- OC_self的调用和使用注意,继承的基本使用和使用注意,多态笔记
- 继承的使用
- 继承的使用
- 关于继承的使用
- 继承的使用
- C++继承的使用
- 继承的基本使用
- C++ 多重继承 虚拟继承的使用
- 类的继承学习笔记
- 【学习笔记】类的继承
- C++继承的学习笔记
- 关于概率要素和统计学要素在游戏设计中的运用
- 类的继承--学习笔记
- SSH:准备项目环境
- Ubuntu 12.04登录root账户
- 如何高效设计游戏——游戏伤害公式的量身定做
- 继承的使用--笔记
- SSHJ:Spring整合Struts2、Hibernate、JBPM4
- hdu 2242 考研路茫茫——空调教室 点强连通+树形dp
- 学习 PipedInputStream PipedOutputStream
- modbus 功能码
- Grunt教程-前端自动化
- 基于OpenLayers的地图封装Javascript类定义
- Spring:IOC释义(Bean容器、注解、依赖注入)
- oracle行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)