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...