一起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
- python繼承和重寫init方法--例項Python繼承
- Java-發紅包例項-繼承練習Java繼承
- 聊聊iOS中的多繼承和多重代理iOS繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- Solidity中的繼承Solid繼承
- java中的繼承Java繼承
- PostgreSQL中的繼承SQL繼承
- JavaScript中的繼承JavaScript繼承
- JS中的繼承JS繼承
- python_類繼承例題Python繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- C++中的繼承C++繼承
- 聊聊JS中的繼承JS繼承
- JS中的繼承(下)JS繼承
- JS中的繼承(上)JS繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- JS中繼承的實現JS中繼繼承
- JavaScript中的六種繼承JavaScript繼承
- JavaScript中的函式繼承JavaScript函式繼承
- 淺談JavaScript中的繼承JavaScript繼承
- ES6中的類繼承和ES5中的繼承模式詳解繼承模式
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- 【前端詞典】繼承(二) - 回的八種寫法前端繼承
- Python多重繼承注意事項!Python教程Python繼承
- 微課|中學生可以這樣學Python(例7.1):繼承Python繼承
- 【iOS – OC】OC基礎-單例的實現 & 提醒自己注意多執行緒問題iOS單例執行緒
- 類的繼承_子類繼承父類繼承
- 面試中聊到的javascript中的繼承面試JavaScript繼承
- 多繼承 與 多重繼承繼承
- JavaScript中的繼承和組合JavaScript繼承
- c++中的繼承關係C++繼承
- 徹底搞懂JavaScript中的繼承JavaScript繼承
- JS中的多種繼承方式JS繼承