黑马程序员技术交流社区
标题:
Object-C学习笔记2-继承
[打印本页]
作者:
meijinyu
时间:
2014-12-3 18:57
标题:
Object-C学习笔记2-继承
2>继承
->继承的格式: A类 :B类。A类继承了B类,即A类拥有了B类的所有属性和方法。A类称为子类,B类称为父类(超类)
例如:
@interface animal :NSObject
{
int weight; // 体重
char curColor; // 毛色
}
- (void)eat;
@end
@interface bird : animal
{
char *name; // 名字
}
- (void)fly;
@end
现在bird 继承了animal 的所以属性和方法,现在bird类相当于:
@interface bird :NSObject
{
int weight; // 体重
char curColor; // 毛色
char *name; // 名字
}
- (void)eat;
- (void)fly;
@end
继承使用场合:两个类具有符合逻辑关系,且具有包含关系。
优点:具有相同属性和方法抽象成一个类,使用继承关系,避免重复写代码,提高效率。
类的访问采取就近原则,逐级访问。
缺点:类之间的耦合性太强,某个类缺失会影响以后所以的类。
注意:继承与组合的区别:
->组合:将两个类合并在一起,两个类之间没有太强的逻辑关系。
例如:
//分数类
@interface Score :NSObject
{
int _cScore;
int ocScore;
}
@end
//学生类
@interface Person :NSObject
{
int weight;
char *name;
Score *score; // 定义分数类变量,这句就是组合的用法
}
- (void)study;
@end
相当于:
@interface Person :NSObject
{
int weight;
char *name;
int _cScore;
int ocScore;
}
- (void)study;
@end
作者:
丶有果灬
时间:
2014-12-3 20:31
加油,努力!
作者:
meijinyu
时间:
2014-12-4 11:58
丶有果灬 发表于 2014-12-3 20:31
加油,努力!
谢谢,嘿嘿
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2