标签: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、缺点
耦合性太强,类的关系太紧密。
标签:android style blog http color io os ar java
原文地址:http://www.cnblogs.com/xdl745464047/p/3999166.html