01 Objective C物件導向程式設計

2021-06-21 04:01:13 字數 2118 閱讀 1089

1. 物件導向程式設計

用解決現實中的問題的辦法來解決計算機問題。

1.1 物件

anything is object. 萬物皆物件。

現實中物件是一種客觀的存在,程式中物件是一片記憶體空間。

物件之間各司其職,各盡所能,物件功能單一。物件之間通過發訊息來互相合作,形成乙個系統。

物件有什麼      屬性

能幹什麼   方法

1.2 類

就是型別,這兒理解為使用者自定義的型別。

int double float ... 基本資料型別

trdate ...               使用者自定義型別

類是一種主觀的認識,是對我們需要解決的問題的一種抽象,是建立物件的模型。 

1.3 定義類

@inte***ce 類名 : nsobject

屬性的定義

方法的宣告

@end

讓類繼承nsobject是因為需要類擁有相應的能力,比如記憶體分配能力等。

@implementation 類名

方法的定義

@end

1.4 建立物件

類名* obj = [類名 alloc];

[obj 訊息]; //給物件發訊息

物件收到訊息會呼叫方法。方法其實是一種特殊的函式。

2. 記憶體分配

oc中的物件全部放在堆中。 要使用堆中的物件,必須使用指標指向物件。經常把這個指標叫"引用"。要讓物件工作,就給物件發訊息,如果物件響應訊息,就會呼叫對應的方法。訊息是通過引用發的。

堆記憶體,分配和釋放不是自動的,而是由程式控制的。

堆裡放的是物件,棧裡放的是引用,引用指向了物件。

3. 實際開發中類定義的檔案分離

乙個類,一般會分成兩個檔案,乙個.h,乙個.m。

.h檔案中定義類的inte***ce部分,.m檔案中定義類的implementation部分。類名和檔名應該保持一致。

//以下**在xcode下編寫main.m

#import @inte***ce myfirstclass : nsobject //繼承nsobject,是所有類的老祖宗,分配記憶體空間

@property int prop1; //屬性的定義

- (void) method1; //方法的宣告

@end

//實現部分

@implementation myfirstclass

- (void) method1

@end

@inte***ce trdog : nsobject //狗類

@property nsstring *name; //oc語言特有的型別,使用者自定義型別需指標

- (void)bark;

@end

@impementation trdog

-(void)bark

@end

trdog* getdog()

int main(int argc, const char* argv)

return 0;

}//重新新建乙個檔案tremployee.h,定義乙個employee類

#import //類的介面部分

@inte***ce tremployee : nsobject

//定義屬性

@property nsstring *name;

@property int age;

@property bool gender;

@property double salary;

//宣告部分

- (void) show;

@end

//新建乙個檔案tremployee.m,寫implementation部分

#import "tremployee.h" //需import

@implementation tremployee

- (void) show

@end

中:#import "tremployee.h"

void test2()

int main(int argc, const char* argv)

return 0;

}

Objective C 01 物件導向

物件導向 object oriented,oo 是軟體開發方法 物件導向是一種對現實世界理解和抽象的方法.object oriented programming oop 物件導向程式設計 什麼叫物件導向?感覺還是很抽象的東西,舉個例子,小明想買電腦,但是他什麼都不懂,於是就打 找到懂電腦的小黃,讓他...

objective c物件導向

oop object oriented programming 特徵 多型 繼承 封裝 兩部分組成 1.inte ce部分 定義類的公共介面和類的資料成員 2.implementation部分 實現這些方法的實際方法 main檔案中新增friend類 inte ce 部分 inte ce frien...

Objective c學習筆記01 簡介

如果您未曾開發過 ios 或 mac os x 平台的程式,那就需要開始了解它們的首要程式語言 objective c。objective c 並不是一種很難的語言,如果能花一點時間學習,相信您會漸漸領會到它的優雅之處。objective c 程式語言使您能進行複雜的 物件導向的程式設計。通過提供用...