Objective-C 快速導覽 - 改寫方法

子類別 (subclass) 可依需求改寫 (override) 父類別 (superclass) 的方法 (method) ,這是說當子類別定義與父類別相同名稱方法的話,子類別定義的方法會覆蓋過父類別的方法,因此父類別的方法不會被繼承。



舉例如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#import <Foundation/Foundation.h>
 
@interface Demo: NSObject
 
- (void) do_something;
 
@end
 
@implementation Demo
 
- (void) do_something
{
    NSLog(@"Hello, 9527!");
}
 
@end
 
@interface Demo2: Demo
@end
 
@implementation Demo2
 
- (void) do_something
{
    NSLog(@"Hello, John!");
}
 
@end
 
int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  
    Demo2 *demo = [[Demo2 alloc] init];
    [demo do_something];
  
    [pool drain];
    return 0;
}
 
/* 《程式語言教學誌》的範例程式
   檔名:classdemo13.m
   功能:Objective-c 程式範例
   作者:張凱慶
   時間:西元 2013 年 4 月 */


編譯執行,結果如下



中英文術語對照
子類別subclass
改寫override
父類別superclass
方法method


您可以繼續參考
類別


相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁



參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects

沒有留言: