首页 > 代码库 > 黑马程序员 06-继承
黑马程序员 06-继承
———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
1、继承的概念
狗类Dog:具有年龄和体重的属性,和跑的行为
猫类Cat:具有年龄和体重的属性,和跑的行为
二者具有相同的属性和行为,在编写代码过程中,会出现重复代码,影响效率。
因此,我们抽取两个类的共性,定义一个动物类Animal。
Dog和Cat类继承Animal类,Dog和Cat称为Animal的子类,Animal称为Dog和Cat的父类。
1 #import <Foundation/Foundation.h> 2 /* 3 1.继承的好处: 4 1> 抽取重复代码 5 2> 建立了类之间的关系 6 3> 子类可以拥有父类中的所有成员变量和方法 7 8 2.注意点 9 1> 基本上所有类的根类是NSObject10 */11 12 13 /********Animal的声明*******/14 @interface Animal : NSObject15 {16 int _age;17 double _weight;18 }19 20 - (void)setAge:(int)age;21 - (int)age;22 23 - (void)setWeight:(double)weight;24 - (double)weight;25 @end26 27 /********Animal的实现*******/28 @implementation Animal29 - (void)setAge:(int)age30 {31 _age = age;32 }33 - (int)age34 {35 return _age;36 }37 38 - (void)setWeight:(double)weight39 {40 _weight = weight;41 }42 - (double)weight43 {44 return _weight;45 }46 @end47 48 /********Dog*******/49 // : Animal 继承了Animal,相当于拥有了Animal里面的所有成员变量和方法50 // Animal称为Dog的父类51 // Dog称为Animal的子类52 @interface Dog : Animal53 @end54 55 @implementation Dog56 @end57 58 /********Cat*******/59 @interface Cat : Animal60 @end61 62 @implementation Cat63 @end64 65 int main()66 {67 Dog *d = [Dog new];68 69 [d setAge:10];70 71 NSLog(@"age=%d", [d age]);72 return 0;73 }
2、继承的好处
(1)抽取重复代码
(2)建立了类与类之间的关系
(3)子类可以拥有父类中的所有成员变量和方法
3、注意点
(1)基本上所有类的基类是NSObject
(2)父类必须写在子类前面
(3)不允许子类和父类拥有相同名称的成员变量
(4)调用某个方法时,优先去当前对象中找,找不到就去父类中找。
4、缺点
耦合性太强,类的关系太紧密。
黑马程序员 06-继承
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。