一,物件導向和面向過程思想
oc是物件導向的,c語言是面向過程的,兩種都是解決問題的思想
面向過程(proceduce oriented) -->找步驟
物件導向(object oriented) -->找物件
物件導向程式設計 object oriented programming 簡稱oop
二,類和物件的關係
對所有物件的描述 --> 圖紙 -->類
面向與研究的 -------------------->物件
類= 對無數個物件的相同屬性進行描述
類是面物件開打第一步,然後建立物件
三,如何設計類
1>類的實際,只關心3樣東西 事物名稱,屬性,行為
2>一般名詞都是類
3>擁有相同(或者類似)屬性和行為的物件都可以抽象乙個類
01,類的宣告和實現:@inte***ce像時鐘的表面,@implementation像時鐘的裡面
建立乙個車類 擁有輪胎屬性 和跑的行為
#import
@inte***ce car : nsobject
@public
int wheels;
int speed;
@end
@implementation car
@end
int main()
car *p = [car new];
p->wheels = 4;
p->speed = 250;
nslog(@"輪胎是%,速度是%d",p-wheels,p-speed);
return 0;
02物件的行為
要寫行為在類的生命中,有名方法
{}中書寫的是屬性,不寫其他,方法放在外面
方法(行為):方法名 引數 返回值(宣告,實現)
只要是在oc物件的方法,必須以減號開頭
oc方法中任何資料型別都必須用小括號括住,小括號只有乙個作用:括住資料型別
在@inte***ce中宣告方法,在@implementation中實現方法
03方法與成員變數
在使用建立物件,會建立乙個儲存空間存放類,裡面的內容是方法的宣告。每個物件類內部中都有乙個isa的指標,isa所有物件都會指向類
04常見錯誤
1>只有類的宣告,沒有類的實現
2>把@end給忘了(要分開,不能巢狀)
3>方法的實現只能寫在類的實現中
4>方法的生命一定要寫在類的宣告的外面
5>多個宣告,多個實現,要完整地書寫每乙個,不能巢狀
6>成員變數/例項變數 不能在類的宣告裡有初始化,也不能重複定義
7>不要把c語言和oc混用,關鍵字static
8>宣告,必須寫在main函式之前
05方法與函式的區別
方法:1>物件方法都已減號開頭
2>物件方法的宣告必須寫在@inte***ce和@end之間,物件方法的實現必須寫在@implementation和@end之間
3>物件方法只能由物件來呼叫
4>物件方法歸類和物件所有
函式:1>函式可寫在任意乙個地方(@inte***ce和@end之間除外),函式歸檔案所有
2>函式呼叫不依賴於物件
3>函式內部不能直接通過成員變數訪問某個物件的成員變數
OC 物件導向,類和物件
面向過程,c語言是一門面向過程語言,關注的是如何解決問題,需要哪些步驟 物件導向,oc是一門物件導向語言,關注的是解決問題需要哪些物件。可以對類進性操作也可以對物件進行操作,即方法,同乙個方法可以應用於不同多個物件。classorinstance method 對類和例項應用方法 inte ce 部...
OC物件導向和類
1 物件導向和面向過程 物件導向,簡稱oop,它是以事物為中心,參與事件的事物是核心,完成事件只是事物的乙個小任務。面向過程,簡稱opp,它是以事件為中心,事件是核心,列出了完成事件的每乙個步驟,一步一步完成。也就是物件導向側重於從問題在尋找客體 客體的作用。客體間的關係即 誰 做什麼 怎麼做 面向...
OC1 物件導向,類和物件
1 self 指的是類物件本身,super是父類物件本身。2 self 用來呼叫本類物件的方法,super 呼叫父類的方法。2.定義類 兩部分介面和實現部分 1 冒號表示,是繼承關係,nsoject是所有類的父類。2 方法宣告 是例項方法,是類方法。方法名主要要 方法型別,返回型別,方法名,引數型別...