看官们,我们在上一章回中对继承做了概述性的介绍,这一回中通过具体的例子来介绍如何使用继承。下面是具体的代码:
#import<Foundation/Foundation.h>
//定义父类Phone,类中包含两个属性和一个方法
@interface Phone : NSObject
@property char * name;
@property int size;
-(void) makeCall;
@end
//定义并且实现父类Phone。主要是实现了init和os方法
@interface AndroidPhone : Phone
-(void) os;
@end
@implementation AndroidPhone
-(instancetype) init {
self = [super init];
if(self) {
[super setName:"this is AndroidPhone"];
[super setSize:7];
}
return self;
}
-(void) os {
NSLog(@"this is AndroidPhone");
}
@end
我们分析一下上面的代码。代码中定义了父类Phone和子类AndroidPhone。继承通过冒号来实现,具体的语法为:
SubClass : BaseClass.
子类通过继承获取了父类的属性和方法,子类可以通过super关键字来调用父类的方法。比如子类的init方法中就直接调用了父类的init方法,这点我们在前面章回中介绍init方法时提到过,不过当时还没有介绍继承,因此一笔带过,现在大家应该明白其中的含义了吧。
子类在继承父类的同时还可以定义属于自己的内容,比如属性和方法,上面的代码中子类就定义了自己的方法:os。有看官说,子类中定义方法时如果和父类的方法重名了怎么办?这位看官的问题很好,这便是方法的重写,我们将在后面的章回中介绍。
最后我们对本章回中的内容做一个总结:
- 1.继承的语法通过冒号实现;
- 2.子类继承了父类的属性和方法;
- 3.子类可以通过super关键字调用父类的方法和属性;
- 4.子类在继承父类的同时还可以定义属于自己的属性和方法;
看官们,欲知后事如何且听下回分解!
博客通过具体代码介绍继承的使用。定义了父类Phone和子类AndroidPhone,继承通过冒号实现,子类可获取父类属性和方法,用super关键字调用父类方法。子类还能定义自身属性和方法,后续章回将介绍方法重写。最后总结了继承的语法、子类特性等内容。
1981

被折叠的 条评论
为什么被折叠?



