天天看點

OC1

1.oc  objective -c,是一門面向對象的程式設計語言 2.oc 和 c a.oc是c的超級,oc是在c語言的基礎上做了擴充,c語言所有的文法在oc中都能使用,甚至你可以再工程裡加入c++語言 b.oc在c的基礎上擴充了面向對象的思想 c.oc是一門運作時語言 d.oc為我們提供了豐富的類庫 3.如何學好oc?   a.百度(iOS)b.看蘋果的官方文檔(API接口文檔) c.看部落格   d.自己的錯誤總結 4.面向對象程式設計的三大特征:封裝,繼承,多态 5.類是什麼?具有相同的特征和行為實物的抽象 6.對象:類的執行個體化 7.建立一個類  a.通過Cocoa  touch 和class 模闆,建立類,自動生成.h和.m檔案    b.在.h檔案中寫類的特征和方法的聲明   c.在.m檔案中寫方法的實作部分

8.實用類建立對象    a.開辟記憶體空間   b. 初始化

9.給Person對象開辟記憶體空間  [Person  alloc]   代表給Person這個類發送了一個消息alloc [ ]代表調用方法 10.Person  *person1 = [Person alloc]; person1代表建立的對象    堆區中isa指針用來指向父類 每一個對象都有一個isa指針,用來指向他的父類,之是以能掉用父類的方法,完全是因為這個isa指針

11.初始化   如果沒有指派這時預設所有的執行個體變量都為空nil Person   *p = [[Person alloc]init];這條語句同時完成兩件事,開辟記憶體空間并初始化

12. @interface Person : NSObject @intferface是接口  Person是類名  :繼承的誰  NSObject是所有oc類中的基類

[email protected]  執行個體變量被@public修飾後就能在類的外部通路到這些執行個體變量了 14.類的外部是��️:.h和.m其它檔案就叫類的外部 15.類的内部是��️:.h和.m這對檔案内 16.NSString *_name;NSString不是基本資料類型,是以那它定義變量的時候需要加* 17.NSTnteger _age; NSTnteger是基本資料類型,是以在定義變量的時候不需要加*             CGFloat就是基本資料類型double 18.行為的聲明 a.減号(—)修飾的方法屬于對象方法,這個方法隻有我們定義的這個類的建立出來的對象來調用 b.用加号(+)修飾的方法屬于類的方法,這個方法隻能有類來調用

19.重寫了init方法 -(void)init; 20. - (void)talk:(NSString *)content;//一個冒号代表有一個參數  寫一個帶有參數的方法時的格式< :(參數類型)參數名> 21.如果寫一個方法沒寫實作這種現象叫空實作 22.  NSLog(@"Hello! 我是%@,年齡%ld,性别%@",_name,_age,_sex);//NSLog是oc自己的控制台輸出函數

23.在.m中除了可以寫多個類的實作部分,還可以把一個類的聲明和實作部分都寫在.m檔案中,此時這個類就是一個私有的類,隻能在.m檔案中看到,其它任何檔案都無法看到