ios开发-OC面向对象的三个特性-继承和组合的学习
2015-03-14 22:56
197 查看
之前,我学习了面向对象的三个特性之一-封装,今天学习继承,下面是具体内容:
一.继承:
1.继承的好处:
1)抽取重复代码
2)建立了类之间的关系
3)子类可以拥有父类中的所有成员变量和方法
2.在子类中有部分父类的元素的情况,尽量使用组合;
3.super的作用
1)直接调用父类中的某个方法
2)super处在对象方法中,那么就会调用父类的对象方法
super处在类方法中,那么就会调用父类的类方法
3)使用场合:子类重写父类的方法时想保留父类的一些行为
下面,引用MJ一个经典的案例,来理解继承这个特性:
@interface Animal : NSObject
{
int _age;
double _weight;
}
- (void)setAge:(int)age;
- (int)age;
- (void)setWeight:(double)weight;
- (double)weight;
@end
/********Animal的实现*******/
@implementation Animal
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}
- (void)setWeight:(double)weight
{
_weight = weight;
}
- (double)weight
{
return _weight;
}
@end
/********Dog*******/
// : Animal 继承了Animal,相当于拥有了Animal里面的所有成员变量和方法
// Animal称为Dog的父类
// Dog称为Animal的子类
@interface Dog : Animal
@end
@implementation Dog
@end
/********Cat*******/
@interface Cat : Animal
@end
@implementation Cat
@end
int main()
{
Dog *d = [Dog new];
[d setAge:10];
NSLog(@"age=%d", [d age]);
return0;
}
//组合
@interface Dog1 : NSObject
{
Animal *a;//组合,定义一个父类的指针变量
}
@end
总结:
要熟记继承使用的场合,可以大大的减少代码量,使用的时候注意组合的使用.
一.继承:
1.继承的好处:
1)抽取重复代码
2)建立了类之间的关系
3)子类可以拥有父类中的所有成员变量和方法
2.在子类中有部分父类的元素的情况,尽量使用组合;
3.super的作用
1)直接调用父类中的某个方法
2)super处在对象方法中,那么就会调用父类的对象方法
super处在类方法中,那么就会调用父类的类方法
3)使用场合:子类重写父类的方法时想保留父类的一些行为
下面,引用MJ一个经典的案例,来理解继承这个特性:
@interface Animal : NSObject
{
int _age;
double _weight;
}
- (void)setAge:(int)age;
- (int)age;
- (void)setWeight:(double)weight;
- (double)weight;
@end
/********Animal的实现*******/
@implementation Animal
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}
- (void)setWeight:(double)weight
{
_weight = weight;
}
- (double)weight
{
return _weight;
}
@end
/********Dog*******/
// : Animal 继承了Animal,相当于拥有了Animal里面的所有成员变量和方法
// Animal称为Dog的父类
// Dog称为Animal的子类
@interface Dog : Animal
@end
@implementation Dog
@end
/********Cat*******/
@interface Cat : Animal
@end
@implementation Cat
@end
int main()
{
Dog *d = [Dog new];
[d setAge:10];
NSLog(@"age=%d", [d age]);
return0;
}
//组合
@interface Dog1 : NSObject
{
Animal *a;//组合,定义一个父类的指针变量
}
@end
总结:
要熟记继承使用的场合,可以大大的减少代码量,使用的时候注意组合的使用.
相关文章推荐
- 黑马程序员_iOS开发之OC之面向对象之三大特性封装、继承和多态
- ios开发-OC面向对象的三个特性-多态的使用
- ios开发-OC面向对象的三个特性-封装方法
- 【IOS 开发学习总结-OC-16】★★objective-c面向对象之——类的继承
- 【IOS 开发学习总结-OC-15】objective-c面向对象之——对象初始化
- 【IOS 开发学习总结-OC-20】★★★objective-c面向对象——协议(protocol)
- 【IOS 开发学习总结-OC-9】★ objective-c面向对象之——方法
- 黑马程序员————IOS学习笔记 第4篇 OC面向对象三大特性(2)
- 黑马程序员——OC语言学习——OC面向对象的三大特性:封装、继承、多态,OC字符串——NSString
- 【IOS 开发学习总结-OC-18】★★objective-c面向对象之——OC的包装类与对象处理
- 【IOS 开发学习总结-OC-17】★★objective-c面向对象之——多态
- 【IOS 开发学习总结-OC-19】★★objective-c面向对象之——类别与扩展
- 【IOS 开发学习总结-OC-7.1】C 语言特性——函数
- 【IOS 开发学习总结-OC-7.2】C 语言特性——局部变量与全局变量
- 【IOS 开发学习总结-OC-11】★objective-c面向对象之——封装和访问控制符
- 【IOS 开发学习总结-OC-12】★objective-c面向对象之——合成存取方法与点语法
- 黑马程序员——ios开发基础之OC中的面向对象以及对象特性
- IOS开发学习笔记010-面向对象的三大特性
- 【IOS 开发学习总结-OC-8.1】★★ objective-c面向对象之——类和对象(上)
- 【IOS 开发学习总结-OC-8.2】★★ objective-c面向对象之——类和对象(下)