黑马程序员-OC语言-继承

来源:互联网 发布:3d室内设计软件 编辑:程序博客网 时间:2024/04/30 04:30

——- ios培训、ios培训、期待与您交流! ———-
继承的表现

多个类中存在相同属性和行为时,讲这些内容抽取到一个单独的类中(父类),那么多个类无需再定义这些属性和行为了,只要继承单独的那个类就可以了.这种拥有另外一个类的属性和方法的方式成为继承.
如:B继承了A,B就成为子类,A就成为父类,B拥有A中的所有属性和方法.一个父类可以有多个子类去继承他,但是一个子类只能有唯一的一个父类.
作用以及好处:
1.子类可以直接访问父类中的属性和方法.
2.继承的出现提高了代码的复用型.
3.继承的出现让类与类之间产生了关系,提供了多态的前提.
下面通过代码体现

#import <Foundation/Foundation.h>//父类@interface Person : NSObject{    char *_name;//姓名    double _high;//身高    double _weight;//体重}-(void)run;+(void)run;-(void)setName:(char *)name;@end@implementation Person+(void)run{NSLog(@"父类中的类方法....");}-(void)run{    NSLog(@"%s 跑....",_name);}-(void)setName:(char *)name{    _name=name;}@end//警察继承了Person类就有了Person类的所有属性和方法@interface Police : Person{      char *_qiang;}+(void)catchThief;@end@implementation Police+(void)catchThief{//这个是Police中的独有的方法    NSLog(@"抓小偷...");}@end//小偷@interface Thief : Person{    char *_dao;}+(void)tou;//这个是Thief独有的方法@end@implementation Thief+(void)tou{     NSLog(@"偷东西...");}@endint main(){   Thief *t= [Thief new];    [t setName:"thief"];//t这个对象使用了SetName这个方法,因为已经继承了Person类了    Police *p=[Police new];    [p setName:"police"];//p这个对象使用了SetName这个方法,因为已经继承了Person类了    //小偷偷东西, 警察跑去抓小偷,小偷跑路    [Thief tou];    [p run];    [Police catchThief];    [Police run];//这里是用子类的类名调用了一个类方法,这个类方法是从父类中继承的;    [t run];    return 0;}

关于继承的一些思考
1.多个类中如果包含公共的属性的和方法,那么可以使用继承的方法,把这些公共属性和方法封装到一个父类中.
2.子类继承了父类,本质上就是在子类中也写入了父类中的属性和方法.
3.子类想要使用父类中的类方法,用子类的类名直接调用;

0 0
原创粉丝点击