Objective C 方法 屬性

2021-06-08 09:33:07 字數 2592 閱讀 4001

1

2

3

4

5

6

7

8

9

10

11

12

#import

@inte***cefraction:nsobject

@propertyintnumerator, denominator;//宣告引數的屬性(合成器)

-(void) print;//宣告列印引數方法

-(void) setto:(int) n over: (int) d;//宣告多個引數的方法

-(double) converttonum;//宣告除法運算方法

@end

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

@implementationfraction

@synthesizenumerator, denominator;//定義引數屬性(合成器)

-(void) print//定義列印引數方法

-(void) setto: (int) n over: (int) d//定義多個引數的方法

-(double) converttonum//定義除法運算方法

@end

下面分別講解objective-c中的屬性和帶多個引數的方法。

首先我們先說屬性,在介面部分(@inte***ce部分)中使用@property指令標識屬性。這些屬性通常是例項變數。在fraction類中,兩個例項變數numerator和denominator都屬於此類屬性。接下來我們需要在實現部分(@implementation部分)使用指令@synthesize定義即可。對於屬性的訪問,可以通過類的例項使用點運算子進行訪問。

參照上面例子fraction類的setto:over方法。首先,在介面檔案中新增setto:over:宣告(詳見上面例子對setto:over方法的宣告)。然後在實現部分(@implementation部分)新增新方法的定義。新的setto:over:方法僅接收兩個整型引數,n和d,並把它們賦值給該分數對應的域numerator和denominator。

建立方法名時,引數名實際上是可選的。例如,可以如下宣告乙個方法:

1

-(int) set: (int) n: (int) d;

注意,和先前的例子不同,這個方法的第二個引數沒有名字。這個方法名為set::,兩個冒號表示這個方法有兩個引數,雖然沒有全部命名。

要呼叫set::方法,可以使用冒號作為引數分隔符,如下所示(假設例項名稱為:afraction):

1

[afraction set: 1: 3];

在編寫新方法時,省略引數名不是一種好的程式設計風格,因為它使程式很難讀懂並且很不直觀,特別是當使用的方法引數特別重要時更是如此。

多型 方法 屬性

多型是針對方法而言的 animal cat new cat cat.say 呼叫的是子類的方法 方法看右邊 取決於建立物件的型別 system.out.println cat.name 呼叫的是父類的屬性 屬性看左邊 取決於定義變數的型別 system.out.println cat.getname...

DataTable常用方法屬性

平台裡面對datatable的操作是比較多的,網格部件 樹形部件 記錄部件這3大部件是開發中使用最平凡的幾個部件,然而這幾個部件是與datatable直接繫結的,對datatable的操作就可以對介面上的資料直接操作。datatable的用法是和c 完全一樣的,大家可以查詢相關資料,在下面我列出了d...

Python中類的方法屬性與方法屬性的動態繫結

最近在 學習python 純粹是自己的興趣愛好,然而並沒有系統地看python 程式設計書籍,覺得上面描述過於繁瑣,在 找了一些學習的 發現廖雪峰老師的 上面的學習資源很不錯,而且言簡意賅,提取了一些 python python 的執行 缺點就是沒有系統的看 python 的書籍,不能及時的將知識的...