#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;
/********Animal的实现*******/
@implementationAnimal
-(void)setAge:(int)age
{
_age = age;
}
-(int)age
{
return _age;
}
-(void)setWeight:(double)weight
{
_weight = weight;
}
-(double)weight
{
return _weight;
}
/********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.使用场合:子类重写父类的方法时想保留父类的一些行为