// main.m
// oc物件導向
// created by goddog on 15/1/2.
1.object-c 支援物件導向的三大特徵:繼承、封裝、多型。
2.提供了@private、 @package 、@protected、@public訪問控制符來實現封裝
1.定義類:<1>.介面部分:a.定義該類包含的成員變數和方法。
b.用@inte***ce宣告定義的介面部分,@end表明定義結束。
c.介面部分的源**應該命名為 *.h檔案
<2>.實現部分:為該類的方法提供實現。
a.實現部分的源**應該命名為 *.m檔案
2.成員變數語法格式:型別成員變數名
<1>.型別:oc允許的任何資料型別,包括基本型別、構造型別、指標型別。
<2>.成員變數名 :建議成員變數用下劃線(_)開頭。
3.方法宣告的語法:<1>方法型別的標識分為+(代表該方法是類方法,類名呼叫),-(代表該方法是例項方法,物件呼叫)。
<2>方法返回值型別:可以是oc任何資料型別,如果沒有返回值用void來宣告沒有返回值。
<3>方法簽名關鍵字:由方法名、形參標籤、冒號組成,如:insertobject:(id)
<4>oc的方法簽名有特殊意義,如foo是乙個不帶形參的宣告方法,foo:是帶乙個形參的宣告方法,
foo:bar:是代表兩個形參的宣告方法。
4.實現部分:<1>實現部分的類名必須與介面部分的類名相同
<2>實現部分也可以在類名後用「:父類」來繼承某個父類(很少這樣做)。
<3>類實現部分也可以宣告自己的成員變數,但這些成員變數只能在當前類中使用。
<4>類實現部分必須為類的宣告部分的每個方法提供方法定義。
#import int main(int argc, const char * argv)
return 0;
}
//
// person.h
// oc物件導向
//// created by goddog on 15/1/2.
///*
定義部分
*/#import @inte***ce person : nsobject
//定義乙個setname: andage:方法
-(void) setname:(nsstring*) name andage:(int) age;
//下面定義乙個say方法,並不提供實現
-(void) say:(nsstring *) content;
//下面定義乙個不帶形引數的方法
-(nsstring*) info;
//定義乙個類方法
+(void) foo;
@end
//
// person.m
// oc物件導向
//// created by goddog on 15/1/2.
///*
實現部分
*/#import "person.h"
@implementation person
//實現乙個setname: andage: 方法
-(void) setname:(nsstring *)name andage:(int)age
//下面實現了乙個say方法
-(void) say:(nsstring *)content
//下面實現了不帶形參的info方法
-(nsstring*) info
//定義乙個只能在實現部分使用的方法(被隱藏的方法)
-(void) test
//實現了乙個類方法
+(void) foo
@end
OC 物件導向,類和物件
面向過程,c語言是一門面向過程語言,關注的是如何解決問題,需要哪些步驟 物件導向,oc是一門物件導向語言,關注的是解決問題需要哪些物件。可以對類進性操作也可以對物件進行操作,即方法,同乙個方法可以應用於不同多個物件。classorinstance method 對類和例項應用方法 inte ce 部...
OC物件導向和類
1 物件導向和面向過程 物件導向,簡稱oop,它是以事物為中心,參與事件的事物是核心,完成事件只是事物的乙個小任務。面向過程,簡稱opp,它是以事件為中心,事件是核心,列出了完成事件的每乙個步驟,一步一步完成。也就是物件導向側重於從問題在尋找客體 客體的作用。客體間的關係即 誰 做什麼 怎麼做 面向...
OC基礎 類和物件
1.oc1 oc是物件導向 關注的是解決問題需要哪些物件。2 和c程式一樣,oc也需要通過編譯和鏈結兩個步驟。終端指令 以main.m為例 編譯 cc c main.m 執行 a.out 3 關鍵字以 開頭,字串以 開頭,其他基本語法 4 和c語言一樣,oc程式的入口依然是main函式。5 nslo...