概念--
1.蘋果電腦系統爲OS X ; iOS爲移動端開發的系統
Object-C ; 面向對象編程 OOP:(Object Oriented Programming); 面嚮對象語言:C++, Java, C# 面向對象 也可以叫 面向接口對象
2.類和對象 是面向對象的核心 類:具有相同特徵和行爲的事物的抽象
對象是類的實例 類是對象的類型 文件名和類名本質沒有關係
方法--
方法名: 刪除:類型標識,返回類型,參數類型,參數名,空格。
* 只定義方法,不實現,編譯時候不會報錯,但是運行的時候就會報錯了,因爲編譯的時候只會判斷方法有沒有定義,而運行的時候是需要判斷這個方法有沒有實現
* 類方法“ +(id) name ”中不能使用實例變量
點語法--
2.這裏的get方法和其他語言不一樣,只要有返回值就是get方法
#include 、 # import 、 @class區別---
1. #include 如果連續多次在同一文件引入,會重複導入兩次
2. #import 則只導入一次,但是會造成“循環引入”,可以用@class解決
3. Xcode使用ifdefine對#include做了優化
“循環引入”:A引入B ,B引入A;
@class 類名 只是聲明這是個類 沒有引入東西,不需要導入.h 但是這樣裏面的方法就不能使用,但是可以在.m文件裏面導入import "class.h" 因爲 .m文件 不會被引入,我們只引入.h文件,所以不會造成循環引入
%@用來打印類創建的 對象
NSString * _name 屬於創建對象 NSString屬於類;NSInteger
面向對象的三大特性--
1、封裝
2、繼承
3、多態 不同的類的方法名一樣
當%@打印對象時,內部就自動調用該對象的description方法,默認打印對象的地址。
重寫父類的description方法
-(NSString*)description
{
return
[NSStringstringWithFormat:@
"%@,%@,%ld"
,_name,_sex,_age];
}
初始化方法名 必須以“ init ”開頭
-(id)initWithName:(NSString *)name;