1.@interface Circle :NSObject
- 藉口關鍵字:interface
- @interface Circle : 名爲Circle的新類定義的接口。
- 繼承自 NSObject;
- 其中包含的是類的數據成員;
- 每次創建Circle對象時,都將包含這兩個實例變量;
- 注意:fillcolor,bounds 稱爲類的數據成員;而Circle類對象的值稱爲實例變量。
- - (void) setFillColor : (ShapeColor) fillColor ;
- 方法類型 返回類型 方法名 方法接受的參數 參數的類型 參數名
- 利用中綴符,可將方法的名稱和參數合在一起;
- 調用帶一個參數的方法:
- [circle setFillColor : kRedcolor];
- 調用帶兩個參數的方法:
- [circle setFillColor:kRedcolor setBounds:rect];
- 向相應的類發送new消息,創建對應的對象。
- new方法等價於alloc+init。
- id可以接收指向任意類型的指針。
- 在未接受指針之前,不能調用方法。
- 類接口
- 類實現
- 使用類
NSLog(@"%@“);
第一個@ 表示後面輸出一個NSString類型的對象。
後一個%@ 表示oc的一個任意類型的對象。
10.
Car *car; //定義了一個Car對象的指針
car =[Carnew];//生成了一個Car對象,包含5個空指針,並把地址賦給Car對象指針
new = alloc + init 若要改變初始化狀態,對init進行重寫。
11.- 此處調用消息[super init],讓超類完成初始化;
- init方法返回值(id類型)描述了被初始化的對象。
- 將[super init]的結果賦給self是oc的慣例,以防止超類在初始化過程中返回的對象不同於原先創建的對象。
- alloc 用後,內存會被清零
- 調用init後,讓對象處於可用狀態。
@interface Engine : NSObject
{
}
//-(void)print;
-(NSString *)description;
@end
@implementation Engine
-(NSString *)description
{
return (@"i have an Engine");
}
//-(void)print
//{
// NSLog(@"this is an Engine");
//}
@end //Engine
14.是類的對象方法。
- 對數組操作,需要數組首地址、數組下標;//數組首地址直接訪問類的數據成員,數組下標是參數。
- 在方法中確定數組首地址、下標。
- 直接訪問類的數據成員
- 參數
- 尖括號的語句用來導入系統頭文件;
- 帶引號的語句則說明導入項目本地頭文件;
- 面向過程式編程:函數第一,數據第二
- 面向對象編程 :數據第一,函數第二
- 消息,方法,self指針及其三者關係
- 向類發送new消息可創建新對象
- 好的軟件實體,應對擴展開放,對修改關閉。