一起Talk IOS吧(第十八回 OC中的繼承例項)
看官們,我們在上一章回中對繼承做了概述性的介紹,這一回中通過具體的例子來介紹如何使用繼承。下面是具體的程式碼:
#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.子類在繼承父類的同時還可以定義屬於自己的屬性和方法;
看官們,欲知後事如何且聽下回分解!
相關文章
- 一起Talk IOS吧(第七回 OC中基本型別的程式碼演示)iOS型別
- 一起Talk IOS吧(第十回 複合型別中的指標)iOS型別指標
- 一起Talk IOS吧(第十二回 OC中程式結構程式碼演示)iOS
- 一起Talk IOS吧(第十四回 類中方法的定義和使用)iOS
- javascript物件導向繼承的簡單例項JavaScript物件繼承單例
- Java-發紅包例項-繼承練習Java繼承
- java繼承-重寫-super例項補充Java繼承
- prototype原型繼承簡單程式碼例項原型繼承
- 聊聊iOS中的多繼承和多重代理iOS繼承
- python繼承和重寫init方法--例項Python繼承
- iOS 繼承&類方法iOS繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- JavaScript中的繼承JavaScript繼承
- PostgreSQL中的繼承SQL繼承
- JS中的繼承JS繼承
- java中的繼承Java繼承
- javascript使用call()函式實現繼承程式碼例項JavaScript函式繼承
- java中繼承Java中繼繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 聊聊JS中的繼承JS繼承
- JS中的繼承(上)JS繼承
- JS中的繼承(下)JS繼承
- Solidity中的繼承Solid繼承
- C++中的繼承C++繼承
- C++繼承性應用例項 日期和時間(轉)C++繼承
- 面試中聊到的javascript中的繼承面試JavaScript繼承
- JS中繼承的實現JS中繼繼承
- JavaScript中的六種繼承JavaScript繼承
- JavaScript中的函式繼承JavaScript函式繼承
- 淺談JavaScript中的繼承JavaScript繼承
- C#中的繼承(一)C#繼承
- C#中的繼承(二)C#繼承
- JavaScript中的原型和繼承JavaScript原型繼承
- C#中類的繼承C#繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 多重繼承及虛繼承中物件記憶體的分佈繼承物件記憶體
- ES6中的類繼承和ES5中的繼承模式詳解繼承模式
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承