黑马程序员技术交流社区
标题:
OC继承
[打印本页]
作者:
苏子瞻201068
时间:
2015-9-19 10:32
标题:
OC继承
1、成员访问类型
private:私有成员,不能被外部函数访问(使用),也不能被子类继承;
protected:保护成员,不能被外部函数访问,可以被子类继承;
public:公有成员,可以被外部函数访问,也可以被子类继承。
OC中,所有的方法(消息),都是公有的。
2、重写(继承的另一部分)
子类可以从父类继承方法,但是有时候父类的方法不适合子类,子类就可以写一个自己的同名方法,覆盖掉父类的同名方法,叫做重写。
重写的时候,在子类的.h中不必重新声明,直接在.m中写实现就可以。
//
父类声明文件
#import
<Foundation/Foundation.h>
@interface
Father : NSObject
-(
void
)run;
-(
void
)jump;
@end
//
父类实现文件
#import
"
Father.h
"
@implementation
Father-(
void
)run{ NSLog(
@"
he is running!
"
);
return
; }-(
void
)jump{ NSLog(
@"
father can jump 1.2m
"
); }
@end
[url=]
[/url]
[url=]
[/url]
//
子类声明文件
#import
"
Father.h
"
@interface
Son : Father
@end
//
子类实现文件
#import
"
Son.h
"
@implementation
Son -(
void
)jump{ NSLog(
@"
he can jump 0.6m
"
); }
@end
其中,子类重写父类的jump方法,不需要重新声明。
同一个方法,不同的实现,称为多态。重写是多态的一种。
继承的好处:
1)创建大量的相似类的时候,可以节省工作量。
2)使用框架中的类,或已经写好的类,继承该类,生成一个派生类,比原类更好用。
注意:NSString、NSArray、NSDictionary都是不能够继承的。
作者:
木子青
时间:
2015-9-19 22:34
赞 小弟拜读
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2