類,物件,方法

2021-06-22 18:30:37 字數 2280 閱讀 8267

命名規則

制定名稱的規則:名稱必須以字母和下劃線開頭,之後可以是任何字母,下劃線和0~9的數字組合。

以下名稱是非法的;

1.sum$value————$是非法字元

2.piece flag————名稱中間不能有空格

3.3spencer————名稱不能以數字開頭

4.int ————int保留字

命名類的時候,類名通常以大寫字母開頭。另一方面,例項變數,物件,以及方法的名稱時,通常以小寫字母開頭。為使程式具有可讀性,名稱中要用大寫字母表示新單詞的開頭。例如:

addressbook————可能是乙個類名

currententry————可能是乙個物件

current_entry————可以用下劃線作為單詞的分隔

addnewentry————可能是乙個方法名

程式設計時要注意名稱的制定規則會大大增強程式的自解釋性。

例項和方法

類的獨特存在就是例項,對例項執行的操作稱為方法。某些情況下,方法可以應用於類的例項或者類的本身。

物件是類的獨特表示,每個物件都包含一些通常對該物件來說是私有有的資訊(資料),方法提供訪問和改變這些資料的手段。

格式為:

[receiver  message]

左括號後緊跟類的名字或者該類的例項的名字,後面是乙個或多個空格,空格後面是將要執行的方法。

以分數類為例介紹oc的類,物件和方法**如下:

#import @inte***ce fraction : nsobject

-(void) print;

-(void) setnumerator:(int) n;

-(void) setdenominator:(int) d;

-(int) numerator;

-(int) denominator;

@end

@implementation fraction //可以寫成@implementation fraction:nsobject但是會有警告

//例項變數也可以寫到@inte***ce中

-(void) print

-(void) setnumerator:(int) n

-(void) setdenominator:(int) d

-(int) numerator

-(int) denominator

@end

int main(int argc, const char * argv)

return 0;

}

執行結果為:

@inte***ce部分用於描述類和類的方法,也可以在這裡為類宣告例項變數;

定義新類時,首先要告訴編譯器該類來自何處(必須以他的父類命名);並且定義處理該類的物件時的各種方法或操作的型別;還會列出一些元素,稱為屬性。

格式為:

@inte***ce newclassname:parentclassname

propertyandmethoddeclarations;

@end

類方法和例項方法

方法宣告開頭為負號(-)告訴編譯器該方法是乙個例項方法,能夠對類例項進行一些操作,可以直接訪問它的例項變數,例如設定值,檢索值。

方法宣告開頭為正號(+)告訴編譯器該方法是乙個類方法,能夠對類本身進行一些操作,不可以訪問類例項,例如建立類的新例項。

-(void) setdenominator:(int) d;
負號表示方法型別;

(void)表示返回型別

setdenominator表示方法名稱;

:表示方法有引數;

(int)表示引數型別;

n表示引數名字;

@implementation部分用於描述資料(類物件的例項變數儲存的資料),並實現在介面中宣告方法的實際**;

print引用的例項變數包含在作為作為訊息接受者的物件中;

program部分實現程式的目的

prgram可以跨越多個檔案

alloc方法繼承自乙個父類,在記憶體中為它保留足夠的空間用於儲存物件資料,返回儲存資料的位置,保證物件的所有例項變數都變成初始狀態,然而並不是說明該物件已經進行正確的初始化以供使用。

init方法用於初始化類的例項變數,init訊息傳送給類的例項而非是類,返回乙個初始化的物件。

new方法可以將alloc和init操作結合起來。

類 物件 方法

tq乙個類的析構函式 呼叫完畢之後 這個程式 還會做什麼?直接結束嗎?大家怎麼看待這個問題呢?cdc 類析構跟程式退出沒關係 應該是說 呼叫 這個類完畢 之後 還會執行該類中 相關資訊嗎?tq直接結束?stst 這個概念好混亂阿 類如何能呼叫完畢?類,物件,方法這得關係都沒理順啊 類是乙個靜態的概念...

物件方法和類方法

1.物件方法 1 減號 開頭 2 只能由物件呼叫 3 物件方法中可以訪問成員變數 例項變數 4 物件方法中可以呼叫類方法 2.類方法 1 加號 開頭 2 只能由類名呼叫 3 類方法中不可以訪問成員變數 例項變數 4 類方法中不可以呼叫物件方法 5 類方法中可以呼叫類的方法 同名的除外 3.允許有同名...

類方法和物件方法

我們就把適用於某一特定物件的方法叫做例項 方法,而把那些適用於整個類的方法叫做類方法。不過這樣做只是為了方便 對於 perl 而言,方法就是方法,只是由其第乙個引數的型別來區分。第乙個引數傳遞的是類,則叫做類方法 類裡面那些生成物件例項的方法叫構造方法,這些通常是類方法 node1 root per...