#import <Foundation/Foundation.h>
/*
事物名稱: iPhone
屬性: 顏色, 型號, cpu, 尺寸 == 成員變量
行為:打電話, 發短信, 上網, 獲取本機信息 == 成員方法
*/
typedef enum
{
kIColorBlack, // 黑色
kIColorWhite, // 白色
kIColorTuHaoJin // 土豪金
} IColor;
// 1.編寫類的聲明
@interface Iphone : NSObject
{
@public
float _model; // 型號 0
int _cpu; // cup 0
double _size; // 尺寸 0
// int _color; // 顏色 0代表黑色 1代表白色 2土豪金
// enum IColor _color;
IColor _color;
}
- (void)about;
- (char *)loadMessage;
- (int)signal:(int)number;
- (int)sendMessageWithNumber:(int)number andContent:(char *)content;
+ (int)sumWithValue1:(int)value1 andValue2:(int)value2;
//- (NSString *)colorWithNumber:(IColor)number;
+ (NSString *)colorWithNumber:(IColor)number;
@end
// 2.編寫類的實現
@implementation Iphone
// 行為的實現
- (void)about
{
/*
// char *name;
NSString *name;
switch (_color) {
case 0:
name = @"黑色";
break;
case 1:
name = @"白色";
break;
case 2:
name = @"土豪金";
break;
default:
name = @"華強北";
break;
}
// NSLog(@"型號 = %f, cpu = %i, 尺寸= %f, 顏色 = %i", _model, _cpu, _size, _color);
*/
// Iphone *p = [Iphone new];
// NSString *name = [p colorWithNumber:_color];
NSString *name = [Iphone colorWithNumber:_color];
NSLog(@"型號 = %f, cpu = %i, 尺寸= %f, 顏色 = %@", _model, _cpu, _size, name);
}
// 工具方法, 根據傳入的整數返回對應的字符串
//- (NSString *)colorWithNumber:(IColor)number
+ (NSString *)colorWithNumber:(IColor)number;
{
NSString *name;
switch (number) {
case 0:
name = @"黑色";
break;
case 1:
name = @"白色";
break;
case 2:
name = @"土豪金";
break;
default:
name = @"華強北";
break;
}
return name;
}
- (char *)loadMessage
{
return "wife is god";
}
- (int)signal:(int)number
{
NSLog(@"打電話給%i", number);
return 1;
}
- (int)sendMessageWithNumber:(int)number andContent:(char *)content
{
NSLog(@"發短信給%i, 內容是%s", number, content);
return 1;
}
+ (int)sumWithValue1:(int)value1 andValue2:(int)value2
{
return value1 + value2;
}
@end
int main(int argc, const char * argv[]) {
// 1.創建對象
// 每次給Iphone類發送一個new消息都會開辟一塊新的存儲空間
// 也就意味著每次發送new消息創建出來的對象都是一個新的對象
Iphone *p = [Iphone new];
p->_color = kIColorWhite;
p->_cpu = 1;
p->_model = 4;
p->_size = 3.5;
// 2.給對象發送消息
[p about];
return 0;
}
03-06、OC類中的類方法:類方法的使用場景
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 注意一點:Foundation框架的類, 但凡是通過類工廠方法創建的對象都是加上autorelease了 Pers...
- 1、類中什么時候可以定義類方法: 如果你不想每次使用方法都需要創建對象開辟存儲空間 并且如果該方法中沒有使用到屬性...
- 古龍說,有人的地方就有江湖。這句話在職場上,同樣適用。 你身邊有沒有遇到過這種情況?有些同事本職工作干得很好,但就...