您好,登錄后才能下訂單哦!
一、什么是OOP:
OOP(Object Oriented Programming):面向對象編程
二、面向對象和面向過程的區別:
面向過程編程:分析解決問題的步驟,實現函數,依次使用
面向對象編程:分解問題組成的對象,協調對象間的聯系和通信,解決問題。
面向過程是以事件為中心,關心的是完成這個事件的詳細步驟;
面向對象是以事物為中心,關心的是事物應該具備的功能,而完成一個事件只是事物所有功能里面的一個小功能
(以過程為中心,以對象為中心)
三、類和對象
對象定義了解決問題的步驟中的行為,不刻意完成一個步驟
類:具有相同特征和行為的事物的抽象
對象是類的實例,類是對象的類型:萬事萬物皆對象
(下面是我在學習的時候記的一些筆記)
四、setter、getter方法
//setter 方法(也叫設置器),給單一實例賦值,也就是該方法只有一個參數
//getter 方法(也叫訪問器),獲取單一實例變量的值,無參數,有一個返回值
//setter 方法的規范寫法:- 號方法, set開頭 + 實例變量名(去掉下劃線,并且首字母大寫) + 冒號 + 實例變量參數類型 + 實例變量名(去掉下劃線),并且返回值類型為void
//getter 方法的規范寫法: - 號方法,返回值類型和實例變量類型相同,方法名與實例變量名相同(去掉下劃線)。
五、枚舉類型:
//枚舉也是一個構造類型,枚舉類似于數學中的窮舉法,列出了所有的可能, //枚舉是把人能夠識別的標識符和計算機能夠識別的數字結合起來。
//在使用枚舉值時,系統會自動替換成對應的數字
//如果第一個枚舉值,沒有給定對應的整數值,則默認是從0開始,然后后邊的枚舉值所對應的整數值以前一個枚舉值對應的整數值為基礎,然后加1。如果后邊的枚舉值指定了對應的整數值,則以指定的整數值為準。
六、OC的一些基礎知識:
/** * 類的定義包含兩部分:接口部分以及實現部分,接口部分寫在 .h文件中,實現部分寫在 .m文件中 */
/** * 接口部分,@interface 開頭 + 類名 + :(冒號表示繼承) + 父類名 @end 結束 只要符合這種格式,都可以定義一個類的接口部分 */
// .m 文件是類的實現部分
/** * 實現部分 以@implementation + 類名(要對哪個類實現) 以 @end 結束 只要符合這種實現的格式,都可以定義一個類的實現部分 */
//一個文件里面可以定義多個類,只要接口部分符合@interface開頭 @end結束,實現部分符合 @implementation開頭 @end結束 格式就可以定義多個類//本質上文件和類沒有直接關系
//一般情況下,一個文件只定義一個類,并且文件的名字默認和類名相同
//NSLog輸出到控制臺,@是OC的標志,并且自帶換行
OC消息發送機制:[receiver message]
- 對象調用的方法
+ 類調用的方法
id:對象類型
//創建一個 Person 類的對象
//創建對象分兩步:
//1.在堆區開辟空間 Person *per = [Person alloc];
//2.初始化(基本數據類型置0,對象數據類型置nil) per = [per init];
//開辟空間并初始化:// Person * per2 = [[Person alloc] init];
//對象調用方法,方法調用采用消息發送機制,[receiver message]
//如果該方法是 - 號方法,則應該用對象調用,如果是 + 號方法,則應該用類調用。receiver為類或者對象,message為調用的方法名
//實例變量的可見度:
//1.@public: 公共的,任何文件都可以通過指向操作符進行訪問
//2.@private: 私有的,只有在該類的 .m 文件中才可以訪問,子類以及其他的文件不可訪問
//3.@protected: 受保護的,除了該類和子類之外不可被其他文件訪問 //系統默認是 @protected (受保護)的,
//面向對象的三大特性:封裝,繼承以及多態
聲明變量不使用@public的原因:
1.使用@public關鍵字,暴露了類內部的細節;
2.不符合面向對象語言的三大特性之一——封裝
不使用@private的原因:
不符合面向對象語言的三大特性之一——繼承
類方法:只能類使用,+ 方法,類方法中不能使用實例變量;
實例方法:只能對象使用, - 方法。
//#import 可以避免重復導入,也就是說當我們#import多次同一個頭文件時,只做了一次代碼或文本的替換輸出對象統一用%@格式。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。