进击的Objective-C--------Objective-C基础(-)
生活随笔
收集整理的這篇文章主要介紹了
进击的Objective-C--------Objective-C基础(-)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.面向過程和面向對象 (面向對象三大特性:封裝 繼承 多態(tài)) 面向對象編程:分析解決問題組成的對象,從中抽象出類,調(diào)用方法(協(xié)調(diào)對象間的聯(lián)系與通信),解決問題. 面向過程編程:分析解決問題的步驟,實現(xiàn)函數(shù),一次調(diào)用 2類和對象:類和對象是面向對象的核心 類:具有相同特征和行為的事物的抽象 定義類包含兩個部分:接口部分和實現(xiàn)部分. 1.接口部分:對外聲明類的特征和行為 #import <Foundation/Foundation.h> // 接口部分 新建的類繼承于NSObject @interface Grilfriend : NSObject{ // NSObject 是所有類的基類或父類 // 特征:實例變量 @public// 實例變量的可見度 NSString *_name; NSString *_gender;// 實例變量起名字是加上_ NSInteger _age;// 基本數(shù)據(jù)類型或標量OC 別加*} /***********行為*************/ - (void)eat; - (void)spendMoney; - (void)watchMovies; - (instancetype)init;//(instancetype)=(id) @end 2.實現(xiàn)部分:對內(nèi)實現(xiàn)行為 #import "Grilfriend.h" @implementation Grilfriend //類的實現(xiàn)部分 -(void)eat { NSLog(@"你就知道吃,吃了100塊的麻辣燙了"); } -(void)spendMoney{ NSLog(@"你就知道花錢,都花了100塊了"); } -(void)watchMovies{ NSLog(@"你就知道看電影,都看了100部電影了"); } @end 對象:對象是類的實例,類是對象的類型. // 對象 Grilfriend *g1 = [[Grilfriend alloc]init]; // 第一步 開辟空間 // 第二步 初始化 在發(fā)送消息的時候使用方括號 Grilfriend *g2 = [[Grilfriend alloc]init]; // +號開頭是類方法 只能用類調(diào)用 -號開頭是實例方法 由實例調(diào)用 // 調(diào)用 [g1 eat]; [g2 spendMoney]; [g1 watchMovies]; // 實例變量的訪問
???
??? NSLog(@"%@ %@ %ld",g1->_name,g1->_gender,g1->_age);
??? g1->_name = @"宋慧喬";
??? g2->_age = 18;
??? g1->_gender = @"女";
??? NSLog(@"%@",g1->_name);
??? NSLog(@"%@",g1->_gender); NSLog(@"%ld",g2->_age); 初始化 Grilfriend *g1 = [[Grilfriend alloc]init]; -(instancetype)init{ _name = @"宋慧喬"; _gender = @"女"; _age = 16; return self;// self就是指向自己的一個指針 } NSLog 要輸出的格式化占位: %@ 對象 %d, %i 整數(shù) %u?? 無符整形 %f 浮點/雙字 %x, %X 二進制整數(shù) %o 八進制整數(shù) %zu size_t %p 指針 %e?? 浮點/雙字 (科學計算) %g?? 浮點/雙字 %s C 字符串 %.*s Pascal字符串 %c 字符 %C unichar %lld 64位長整數(shù)(long long) %llu?? 無符64位長整數(shù) %Lf 64位雙字 ? NSLog定義在NSObjCRuntime.h中,如下所示: void NSLog(NSString *format, …); ? ? NSLog (@”this is a test”); NSLog (@”string is :%@”, string); NSLog (@”x=%d, y=%d”, 10, 20); ? 但是下面的寫法是不行的: int i = 12345; NSLog( @”%@”, i ); ? 原因是, %@需要顯示對象,而int i明顯不是一個對象,要想正確顯示,要寫成: int i = 12345; NSLog( @”%d”, i );
???
??? NSLog(@"%@ %@ %ld",g1->_name,g1->_gender,g1->_age);
??? g1->_name = @"宋慧喬";
??? g2->_age = 18;
??? g1->_gender = @"女";
??? NSLog(@"%@",g1->_name);
??? NSLog(@"%@",g1->_gender); NSLog(@"%ld",g2->_age); 初始化 Grilfriend *g1 = [[Grilfriend alloc]init]; -(instancetype)init{ _name = @"宋慧喬"; _gender = @"女"; _age = 16; return self;// self就是指向自己的一個指針 } NSLog 要輸出的格式化占位: %@ 對象 %d, %i 整數(shù) %u?? 無符整形 %f 浮點/雙字 %x, %X 二進制整數(shù) %o 八進制整數(shù) %zu size_t %p 指針 %e?? 浮點/雙字 (科學計算) %g?? 浮點/雙字 %s C 字符串 %.*s Pascal字符串 %c 字符 %C unichar %lld 64位長整數(shù)(long long) %llu?? 無符64位長整數(shù) %Lf 64位雙字 ? NSLog定義在NSObjCRuntime.h中,如下所示: void NSLog(NSString *format, …); ? ? NSLog (@”this is a test”); NSLog (@”string is :%@”, string); NSLog (@”x=%d, y=%d”, 10, 20); ? 但是下面的寫法是不行的: int i = 12345; NSLog( @”%@”, i ); ? 原因是, %@需要顯示對象,而int i明顯不是一個對象,要想正確顯示,要寫成: int i = 12345; NSLog( @”%d”, i );
轉載于:https://www.cnblogs.com/sharkHZ/p/4984033.html
總結
以上是生活随笔為你收集整理的进击的Objective-C--------Objective-C基础(-)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】使用JMeter对数据库做压力测试
- 下一篇: Html.RenderPartial和H