標籤:
1.物件導向和面向過程概念
1).面向過程
面向過程:以過程為核心,注重的是完成事件的詳細步驟,一步一步如何?.
2).物件導向
物件導向:以事物為核心,注重的是參與該事件的事物應該具備的功能.所以完成該事件只是事物所有功能中的一個功能.
2.類與對象
類: 類是具有相同特徵以及行為的事物的抽象,它是一個抽象的概念,不具體.
對象: 類的執行個體.類的具體體現.生活中的萬物都是對象.
3.OO與OOP
OO:(Object Oritented)物件導向
OOP:(Object Oriented Programming)
[email protected]是OC標誌
NSLog(@"%hello World");//輸出的目的是為了驗證.
5.如何建立對象
1.開闢空間(堆區)
例:Person *p = [Person alloc];//開闢空間, +號方法,類方法.
//+(id)alloc; //id等同於void *,泛型,可以代表所有的對象.
//因為p儲存著對象堆區空間的地址,所有間接把p叫做對象,但是本質還是指標變數.
2.初始化
即: p = [p init]; //初始化,nil null 0
6.OC中方法的調用形式: 訊息發送機制
[receiver message];
1.+號方法 類方法
2.-號方法 對象方法(執行個體方法)
例如:
Car *car = [[Car alloc] init]; [car run];//run();函數
7.類的定義
* 類的定義分為兩部分:1.介面部分(.h檔案中)2.實現部門(.m檔案中)
* 介面部分: 以 @interface 開頭 + 類型 : (冒號表示繼承) 父類名 @end 作為結束
* 類的介面部分的內容必須寫在 @interface 與 @end 之間.
* 類的實現主要是方法的實現.
* 類的介面部分提供執行個體變數以及方法的聲明
* 類的本質就是自訂的一種資料類型.
例如:1).Student.h聲明檔案
@interface Student : NSObject{ @public NSString *_name;//姓名 NSInteger _age;//年齡 NSInteger _num;//學號 NSString *_glass; //班級 //執行個體變數一定要寫在大括弧之內,而且大括弧之內也只能寫執行個體變數. //對應類的特徵,執行個體變數(等同結構體的結構體成員) }- (void)study;//方法名:study- (void)message:(NSString *)name1;//無傳回值,有一個參數,參數類型NSString *類型//方法名 sumValueWithA: withB: withC:- (NSInteger)sumValueWithA:(NSInteger)a withB:(NSInteger)b withC:(NSInteger)c; - (NSInteger)maxGBWithA:(NSInteger)a withB:(NSInteger)b;//方法名 maxGBWithA: withB: @end
2).Student.m實現檔案.
* 類的實現部分: 以@implementation 開頭 + 實作類別名 @end 作為實現部分的結束.
* 類的實現代碼 必須卸載 @implementation 與@end 之間才有效.
@implementation Student- (void)study { NSLog(@"學習去!");}- (NSInteger)moneyValueWithA:(NSInteger)a withB:(NSInteger)b { return a * b;}- (void)message:(NSString *)name1 { NSString *s = name1; NSLog(@"%@",s);}//最小公倍數- (NSInteger)maxGBWithA:(NSInteger)a withB:(NSInteger)b { //儲存a,b的值 NSInteger tempA = a; NSInteger tempB = b; NSInteger rem = a % b; while(rem != 0) { a = b; b = rem; rem = a % b; } return (tempA * tempB) / b;} @end 3). main函數實現.
Student *stu = [[Student alloc] init]; [stu study]; NSInteger mon = [stu moneyValueWithA:10 withB:20]; NSLog(@"%ld", mon); [stu message:@"asdf"];
注:
代碼規範:
1.類名:有英文單片語成,每個單詞的首字母大寫,不能出現數字,更不能出現拼音.
2.執行個體變數: 有英文單片語成,除了第一個單詞的首字母小寫以外,其他單字首大寫.
3.一般情況下一對一,h和m檔案中定義一個類.
【學習ios之路:Object-C】類與對象