1.oc: object- c ,面向對象的語言
2、oc 和 c的差別:
<1> oc是 c的超集 ,oc是在c語言的基礎上做了擴充,c語言中的所有文法,在oc中都可以使用,甚至你可以在工程裡加入c++ 語言
<2>oc在c基礎上擴充了面向對象的特點
<3>oc 是一門運作時語言
<4>oc為我們提供了豐富的類庫
3、 如何學習好oc ?
//1.百度 (ios)
//2.看蘋果的官方文檔(api接口網站)
//3.看部落格
//4.自己的錯誤總結
4、 面向對象程式設計的核心:類和對象
面向對象程式設計的三大特征:封裝,繼承,多态
類:具有相同特征和行為(功能)事物的抽象
對象:就是類的執行個體化
5、 建立一個類:
//1、通過cocoa touch class 模闆,建立類,自動生成.h 和 .m檔案
//2、在.h 檔案中寫類的特征(執行個體變量) 和方法的聲明
//3、在.m中寫實作部分
——*使用類建立對象*——
//1、開辟記憶體空間
//2、初始化
6、[ ]中括号調用方法
//[person alloc] 給person 這個類發送一個消息alloc(開辟記憶體空間)
//建立對象person1
//每一個對象 isa指針 用來指向它的父類,之所有能夠調用父類的方法,完全是因為這個 isa 指針;
7、 初始化 如果初始化沒有指派這時預設所有的執行個體變量都為空;
person1 = [person1 init];
這條語句同時完成了兩件事:開辟記憶體并初始化;
8、例子:
.h檔案:
//@interface 是接口 person 是類名 :繼承自誰 nsobject 是所有oc類中的基類
//---------------------------person類的建立對象的特征---------------------
@interface person : nsobject
//特征一定要寫在下面那對大括号裡面
{ @public //執行個體變量對@public 修飾後的就能在類的外部通路到這些執行個體變量了;
//類的外部指:.h 和.m 之外的其他檔案就叫類的外部
//類的内部指:.h 和.m 檔案之内
//nsstring 是oc中字元串類
nsstring *_name;//姓名nsstring 不是基本資料類型,是以定義它需要加*
nsinteger _age;//年齡nsinteger 是基本資料類型,是以定義變量時不需要加*号
nsstring *_sex;//性别
// ----------------------------persson類型建立出對象所擁有的行為----------
//行為的聲明部分
//用 (減号)(- )号 修飾的方法屬于對象方法,這個方法隻能有我們定義這個類的建立出來對象來調用
//用加好(+)修飾的方法屬于類方法,這這方法隻能有類來調用
- (id)init;//重寫inint寫法
- (void)sayhello;//小駝峰命名法
- (void)eat;
//添加一個帶參數的方法
//一個冒号:代表一個參數
//寫一個帶有參數的方法時格式< :(資料類型)參數名 >
- (void)talk:(nsstring *)content; //隐匿有參數資料類型
- (void)talk:(nsstring *)content withsonmeone : (nsstring *)name;
@end
————————————————————————
.m檔案:
/@implementation 是類的實作部分
@implementation person
//id 範類型,傳回值可以指向任何類型的對象 類似于void * ;
- (id)init{—————————賦給初始值————————
_name = @"翔哥";
_sex = @"妖";
_age = 18;
//列印self位址
nslog(@"self位址:%p",self);
//誰調用這個方法self 指的就是誰
return self;
————————————————————————————————————
main.m 檔案:
person *p = [[person alloc]init];
//調用sayhello的方法
[p sayhello];
p->_name = @"zhangsan";
p->_age = 18;
p->_sex = @"妖";
//調用吃得方法
[p eat];
轉自:http://blog.csdn.net/qq_31810357