OC 03物件方法屬性等基本概念

2021-07-16 12:44:11 字數 2683 閱讀 2971

1.首先,建立好一下工程,其中substudent繼承於student

2. oc語言的特點(p4):

oc是c語言的超集

oc具備完善的物件導向的特性

oc有個執行時系統(runtime)

oc有非常豐富的類庫

3.返回到main.m 我們先看看標頭檔案,先將student.h匯入

oc匯入標頭檔案用的是#import,而c用的是#include,那麼這兩個又有什麼區別呢?

區別:在 objective-c 中,#import 被當成 #include 指令的改良版本來使用。

除此之外,

#import 確定乙個檔案只能被匯入一次,這使你在遞迴包含中不會出現問題。

#import比起#include的好處就是不會引起交叉編譯

#import<>跟#import」「的區別是:

#import」 」 匯入自定義的標頭檔案

#import< > 匯入ios框架類庫里類的標頭檔案

4.往下,我們看到乙個函式@autoreleasepool,翻譯為自動釋放池,那什麼是自動釋放池呢?

自動釋放池技術提供一種機制,可以讓我們將物件的所有權釋放,但是不會導致物件馬上被釋放

通常我們不需要建立自己的自動釋放池。在oc中,以後需要在main函式中建立物件都在我們的autoreleasepool中建立

,讓它自動來幫我們管理物件的所有權釋放。

5.物件導向的特徵和概念

物件導向是把構成問題的事物分解成各個物件,然後協調各個物件之間的聯絡和通訊。

其基本思想:使用類、物件、屬性、方法以及 封裝、繼承和多型等概念來進行程式設計。

什麼是類?

類是一組具有相同屬性(特徵)和行為的物件的集合。

在oc中,類是由介面(inte***ce)和實現(implementation)兩部分構成。

什麼是物件?

類的具體的實現。

.h是介面檔案,用來實現屬性的宣告 和 方法 的宣告。

.m是實現檔案,用來屬性和方法。

建立和使用物件

//oc建立物件的語法:

//類名 *物件名 = [[類名 alloc]init]; 或者 類名 *物件名 = [類名 new];

student *stu =[[student alloc]init];

student *stu = [student new];

alloc 為物件動態分配記憶體位址 init 在記憶體中填上初始值

new 為alloc 和init 簡寫

如果給類中的屬性賦值以及呼叫類中方法

物件名->例項變數名 = 具體值; //引用物件的例項變數

[物件名 方法名]; //引用物件的方法

6.我們來看看.h檔案(即介面檔案)

@inte***ce @end 關鍵字, 表示宣告的開始和結束。

在oc中繼承的語法 「類名:父類名」

我們看看屬性和方法,並舉個小例子

@inte***ce

student : nsobject

//方法宣告

/* 減號(-)表示該方法為例項方法;

加號(+)表示該方法為類方法;

void表示無返回值型別,其他的型別還有 nsstring,nsinteger,cgfloat...

*/-(void)sayhello;

-(nsstring *)eatsupper;

+(nsstring *)playgame;

7.再看看student.m檔案,即實現檔案

//@implementation @end 關鍵字, 表示宣告的開始和結束,在其中實現介面檔案中宣告的方法

@implementation

student

-(void)sayhello

-(nsstring *)eatsupper

else

}+(nsstring *)playgame

@end

8.基本的概念基本就介紹完了,我們來舉個栗子吧~

#import "substudent.h"

@implementation

substudent

-(void)sayword

@end

#import "student.h"

@inte***ce

substudent : student

-(void)sayword;

@end

來看看主函式main.m

//手動建立乙個類

@inte***ce

teacher : nsobject

-(void)classbegin;

@end

//相當於乙個實現檔案

@implementation

teacher

-(void)classbegin

@end

int main(int argc, const

char * argv)

return

0;}

Python深入03 物件的屬性

ython一切皆物件 object 每個物件都可能有多個屬性 attribute python的屬性有一套統一的管理方案。屬性的 dict 系統 物件的屬性可能來自於其類定義,叫做類屬性 class attribute 類屬性可能來自類定義自身,也可能根據類定義繼承來的。乙個物件的屬性還可能是該物件...

Python深入03 物件的屬性

python深入03 物件的屬性 python一切皆物件 object 每個物件都可能有多個屬性 attribute python的屬性有一套統一的管理方案。物件的屬性可能來自於其類定義,叫做類屬性 class attribute 類屬性可能來自類定義自身,也可能根據類定義繼承來的。乙個物件的屬性還...

黑馬程式設計師 學習筆記2 物件 類 方法 屬性

asp.net unity開發 net培訓 期待與您交流!詳細請檢視 www.itheima.com 為今後編寫程式的基本概念奠定了基礎。物件就是可以例項化的類 c 語法中需要先例項化類,才能呼叫類中的方法。舉例 人就是乙個類,男人和女人就是其中的乙個物件 類類 好比修房子前設計的藍圖,只是乙個設計...