首先來了解一下:
1.面向過程與物件導向
1.1面向過程程式設計
什麼是面向過程?
procedure,流程;
主幹流程和分支流程;
子模組,**的復用;
特點:所有的工作,乙個人幹,不利於工程協作;
1.2 類和物件
1.2.1 從生活邏輯
┏類┓ ┏物件┓
┃ 人 ┃ 賈伯斯 庫克
┃ 電腦 ┃ 你桌子上那台 我桌子上這台
類class(不占用記憶體) 乙個類的例項 instance(佔記憶體)
1.2.2從封裝角度
結構體:自定義的資料型別,封裝成員變數,屬性
函式:模組,封裝子過程,方法
類:屬性和方法的結合,同時封裝了屬性和方法(行為)
1.2.3從語言角度
類:型別
物件:變數,可讀可寫容器;常量,唯讀不寫的容器;
1.2.4 從官方定義
類:一種資料抽象
物件:一種資料具象
2.oc語言與c語言的聯絡
2.1檔案字尾名
c語言oc 語言:*.m
2.2#import的作用
相當於#include,但比#include 更加智慧型,能避免標頭檔案重複包含
-》 nslog函式和printf函式的區別
自動換行
有時間戳字首
2.3oc的字串和 c 語言字串的區別
@符號開始的字串是 oc 的;
無@符號字首的則為 c 的;
oc 字串的代表符號是%@;
c 字串的代表符號底%s;
oc字串是乙個物件;空間在堆區
c 語言字串只是資料;空間在棧區
eg.oc語言簡單使用(輸出語句)
//相當於#include,但比其更加智慧型,避免標頭檔案的重複包含
#import int main(int argc, const char * argv)
return 0;
}
eg.oc語言建立乙個類(方式一)
#import //類的宣告
@inte***ce person : nsobject
//'-'號開始的方法是例項方法;
//'+'號開始的方法是類方法
- (void)setage:(int)_age;
@end
//類的實現
@implementation person
- (void)setage:(int)_age
@end
int main(int argc, const char * argv)
return 0;
}
eg.oc語言建立乙個類(方式二)
(1)標頭檔案person.h
//類的宣告檔案,類的介面檔案
#import @inte***ce person : nsobject
//中綴函式名方式
//id 相當於void*
//id是泛型的物件指標型別
- (id)initwithnumber:(int)anumber
andname:(nsstring*)aname
andage:(int)aage;
//類的方法//不能用大括號
- (void)setnumber:(int)anumber;
- (int)number;
- (void)setage:(int)aage;
- (int)age;
- (void)setname:(nsstring*)aname;
- (nsstring*)name;
@end
(2)實現檔案person.m
//需要包含標頭檔案
#import "person.h"
@implementation person
- (id)initwithnumber:(int)anumber
andname:(nsstring*)aname
andage:(int)aage
//self是乙個指向物件自己的物件指標,該指標由 nsobject 提供
return self;
} //物件的自描述方法,也是乙個由 nsobject 遺傳的隱式方法,
//我們可以按照自己的意願,重寫該方法(也即覆蓋父類方法)
- (nsstring *)description
- (void)setnumber:(int)anumber
//對於非物件屬性,檢查可選
_number = anumber;
}- (int)number
- (void)setname:(nsstring*)aname
}- (nsstring*)name
//setter方法,用於寫入物件內部的屬性資料
- (void)setage:(int)aage
//getter方法,用於讀取物件內部的屬性資料
- (int)age
@end
(3)main.m檔案
#import //匯入類的標頭檔案
#import "person.h"
int main(int argc, const char * argv)
return 0;
}
OC基本語法
基本格式及語法 oc方法的格式 表示類方法,只能用來呼叫。表示例項方法,用物件呼叫 無引數輸入的方法格式 方法的返回值 方法名 例 void func1 nsinteger func2 有引數入的方法格式 方法返回值 方法名 引數1型別 引數1名 方法名 引數2型別 引數2名 例 輸入字串 返回字串...
oc學習筆記(一)基本語法
一 oc 簡介 c語言的基礎上,增加了一層最小的物件導向語法 完全相容c語言 可以在oc 中混入c語言 甚至是c 可以使用oc開發mac os x平台和ios平台的應用程式 二 oc語法 1.關鍵字 基本上所有關鍵字都是以 開頭 下面列舉一些常見的關鍵字,看一眼就行了,不用去翻資料查詢它們的含義 i...
OC語言學習 基本語法
1 基本資料型別 c語言基本資料型別 bool yes no 2 nil型別等同於c語言的null 3 基本語句 等同於c語言 4 注釋 等同於c語言 5 螢幕輸出 nslog hello 1 跟 include一樣,拷貝檔案的內容 2 可以自動防止檔案的內容被重複拷貝 1 主標頭檔案 最主要的標頭...