码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员 06-继承

时间:2014-09-29 01:15:37      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   io   os   ar   java   

———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> 基本上所有类的根类是NSObject
10  */
11 
12 
13 /********Animal的声明*******/
14 @interface Animal : NSObject
15 {
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 @end
26 
27 /********Animal的实现*******/
28 @implementation Animal
29 - (void)setAge:(int)age
30 {
31     _age = age;
32 }
33 - (int)age
34 {
35     return _age;
36 }
37 
38 - (void)setWeight:(double)weight
39 {
40     _weight = weight;
41 }
42 - (double)weight
43 {
44     return _weight;
45 }
46 @end
47 
48 /********Dog*******/
49 // : Animal 继承了Animal,相当于拥有了Animal里面的所有成员变量和方法
50 // Animal称为Dog的父类
51 // Dog称为Animal的子类
52 @interface Dog : Animal
53 @end
54 
55 @implementation Dog
56 @end
57 
58 /********Cat*******/
59 @interface Cat : Animal
60 @end
61 
62 @implementation Cat
63 @end
64 
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-继承

标签:android   style   blog   http   color   io   os   ar   java   

原文地址:http://www.cnblogs.com/xdl745464047/p/3999166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!