OC之继承
2015-08-31 14:40
260 查看
#import<Foundation/Foundation.h>
/*
1、继承的好处:
(1)抽取重复代码
(2)建立了类之间的关系
(3)子类可以拥有父类中的所有成员变量和方法
2、注意点
(1)基本上所有类的根类是NSObject
*/
/********Animal的声明*******/
@interfaceAnimal : NSObject
{
int _age;
double _weight;
}
-(void)setAge:(int)age;
-(int)age;
-(void)setWeight:(double)weight;
-(double)weight;
@end
/********Animal的实现*******/
@implementationAnimal
-(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*******/
@interfaceCat : Animal
@end
@implementationCat
@end
intmain()
{
Dog *d = [Dog new];
[d setAge:10];
NSLog(@"age=%d", [d age]);
return 0;
}
super的作用
1.直接调用父类中的某个方法
2.super处在对象方法中,那么就会调用父类的对象方法
super处在类方法中,那么就会调用父类的类方法
[super walk];//直接调用父类的walk方法
3.使用场合:子类重写父类的方法时想保留父类的一些行为
/*
1、继承的好处:
(1)抽取重复代码
(2)建立了类之间的关系
(3)子类可以拥有父类中的所有成员变量和方法
2、注意点
(1)基本上所有类的根类是NSObject
*/
/********Animal的声明*******/
@interfaceAnimal : NSObject
{
int _age;
double _weight;
}
-(void)setAge:(int)age;
-(int)age;
-(void)setWeight:(double)weight;
-(double)weight;
@end
/********Animal的实现*******/
@implementationAnimal
-(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*******/
@interfaceCat : Animal
@end
@implementationCat
@end
intmain()
{
Dog *d = [Dog new];
[d setAge:10];
NSLog(@"age=%d", [d age]);
return 0;
}
super的作用
1.直接调用父类中的某个方法
2.super处在对象方法中,那么就会调用父类的对象方法
super处在类方法中,那么就会调用父类的类方法
[super walk];//直接调用父类的walk方法
3.使用场合:子类重写父类的方法时想保留父类的一些行为
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- PostgreSQL教程(三):表的继承和分区表详解
- Lua面向对象之类和继承浅析
- 浅析Ruby中继承和消息的相关知识
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- C++实现不能被继承的类实例分析
- js继承 Base类的源码解析
- Javascript 面向对象 继承
- JavaScript 继承使用分析
- Javascript面向对象编程(二) 构造函数的继承
- javascript面向对象之Javascript 继承
- JavaScript 对象、函数和继承
- 关于JavaScript的面向对象和继承有利新手学习
- JavaScript 继承详解(一)