Objective-C 是 C 語言的超集,加入了 Smalltalk 風格的消息機制,是 iOS/macOS 開發的主流語言之一。OOP 四大支柱——封裝、繼承、多態、抽象——在 OC 中均有完整體現。與面向過程(C 語言)強調「步驟與函數」不同,OOP 關注「對象及其協作」,更貼近現實世界建模。
類的定義:介面與實現分離
OC 類由兩部分組成:
對象的創建與使用
OC 對象創建分兩步:
alloc分配內存,init初始化。慣用單行寫法:_stuAge); // 直接訪問 @public 實例變量 stu->_stuAge = 100; // 修改 stu->_stuName = @"切克鬧"; // 字符串直接賦值實例變量可見性
| 修飾符 | 訪問範圍 |
|---|---|
| @public | 任何地方(對象->變量) |
| @protected | 本類及子類(默認) |
| @private | 僅本類 |
MobilePhone.h
@implementation MobilePhone
- (id)init {
if (self = [super init]) {
_phoneBrand = @"Apple"; _phoneColor = @"red";
_phoneModel = @"S5"; _phonePrice = 4000; _phoneSize = 1080;
}
return self;
}
- (void)buyPhone { NSLog(@"買了個手機"); }
- (void)call { NSLog(@"打了個電話"); }
- (void)sendMessage { NSLog(@"發了個短信"); }
- (void)surfInternet { NSLog(@"上了個網"); }
- (void)watchVideo { NSLog(@"看了個視頻"); }
- (void)sayHi {
NSLog(@"%@ , %@ ,%@ ,%ld ,%ld", _phoneBrand,_phoneColor,_phoneModel,_phonePrice,_phoneSize);
}
@end
main.m
_phoneColor = @"白色";
mPhone->_phoneModel = @"S100";
mPhone->_phonePrice = 4800;
mPhone->_phoneSize = 1080;
NSLog(@"品牌為%@,顏色:%@,型號:%@,價格:%ld,屏幕:%ld",
mPhone->_phoneBrand,mPhone->_phoneColor,mPhone->_phoneModel,mPhone->_phonePrice,mPhone->_phoneSize);
return 0;
}
本文涵蓋了 OC 面向對象基礎、類定義結構、對象生命週期、實例變量封裝與訪問、以及一個完整的手機類實戰範例。掌握這些內容即可進入 OC 開發的大門。