《OC瘋狂講義》筆記(三)

2021-06-28 04:53:10 字數 1716 閱讀 9726

1、類方法

1)什麼是類方法

物件方法:

-(返回值型別)方法名:(形參的型別) 形參名;

類方法+(返回值型別)方法名:(形參的型別) 形參名;

2)類方法怎麼去定義

+(返回值型別)方法名:(形參的型別) 形參名;

3)類方法的使用

呼叫:物件方法:  [物件名    方法名:實參]

類方法:    [類名      方法名:實參]

4)使用類方法的好處

1)提高效率

2)減少記憶體空間占用

3)**更加簡潔

缺點:不能訪問物件的成員變數

5)物件方法和類方法的對比

類方法                          物件方法

以+開頭                         以 - 開頭

只能使用 類名 去呼叫            只能使用物件去呼叫

不能訪問成員變數                可以訪問成員變數

類方法中可以呼叫物件方法        在物件方法中,可以直接呼叫類方法

1)物件作為方法的引數傳遞過來

2)在方法中通過建立物件,然後

再呼叫2、匿名類的使用

匿名物件 -

建立了物件,但是沒有指標去指向它

[person new];

特點: 每次使用都會新申請一塊記憶體空間

1)可以訪問成員變數

[person new]->_name = @"三胖";

nslog(@"%@",[person new]->_name);  //null

2)可以呼叫方法

[[person new] run];

3)可以作為方法的引數

[p gohome:[car new]];

3、物件導向特性-封裝

1) 什麼是封裝?

把複雜的資料或者操作進行隱藏,只提供運算元據或者方法的介面

好處:如果要運算元據、方法必須按照要求

1)隱藏資料

2)隔離變化

3)保護資料安全

2) 不封裝有什麼缺點?

物件失去了對物件自己的成員變數的管理權

3) 如何進行封裝?

通過定義相關的方法,去讀取或者寫入資料到成員變數中

並且成員變數的操作必須通過方法來完成

1)讀方法(getter) - 讀取成員變數的值

規範:1)一定是乙個物件方法

2)一定有返回值

3)方法名一定是 去掉下劃線的 成員變數名

4)一定沒有引數

5)方法的實現中:一定是返回值成員變數名

2)寫方法(setter) - 給成員變數賦值

oc中的規範:

1)一定沒有返回值

2)一定是物件方法(-)

3)方法名一定是以set開頭  格式:set + 去掉下劃線的成員變數名的首字母大寫

4)一定有引數

5)引數的型別一定是和成員變數型別一致

6)形參的名稱一般建議是 去掉下劃線的成員變數名

7)寫方法的實現中,一定是給成員變數賦值

4、物件和物件之間的關係

1) 組合模式

由若干個型別相同或者實現了同乙個介面的物件組合到一起

2) 依賴關係

a物件作 b物件的方法形參或者方法的區域性變數使用,b依賴a

3) 關聯關係

a物件 作為b物件的乙個成員變數,a和b有關聯關係

《OC瘋狂講義》筆記(五)

1 oc中的點語法 點語法 物件名.成員變數名 點語法不是訪問成員變數,而是方法的呼叫 它是乙個編譯器特性 點語法作用 可以替換傳統的get和set方法的呼叫 點語法的前提 首先得先有 get和set方法 點語法實質 呼叫get和set方法 如果點語法出現在 的左邊,表示設定值,相當於呼叫了set方...

python瘋狂講義筆記(列表元組和字典)

python內建的 三種常用資料結構 列表 list 元組 tuple 和 字 典 dict 列表和元組比較相似,它們都按順序儲存元素 每個元素都有自己的索引,因此列表和元組都可通過索引訪問元素 二 者的 區 別 在 於元組是不可修改的,但列表是可修改的 字典則以 key value的形式儲存資料 ...

《瘋狂JAVA講義》 Singleton類

如果乙個類始終只能建立乙個例項,則這個類被稱為單例 singleton 類。class singleton 對外提供乙個public方法用於建立該類的物件,因為呼叫方法之前還存在物件 所以呼叫該方法的只能是類,故使用static修飾 public static singleton getinstan...