Objective-C 類和對象

來源:互聯網
上載者:User

標籤:

物件導向

物件導向(Object-Oriented)是基於面向過程(procedure-oriented)而言的

物件導向 強調對象<指揮者> OC, Java語言就是物件導向

面向過程 強調過程<執行者> C語言就是面向過程

物件導向是一種編程思想 運用對象 類 封裝 繼承 多態和訊息等概念來構造 測試 重構軟體

物件導向的特點 A:封裝 B:繼承 C:多態

物件導向思想的特點 A:它是一種更符合人們思想習慣的思想 B:它使複雜的內容簡單化 C:它使我們從執行者變成指揮者

物件導向的優點 符合人們通常的思維方式 從分析到設計再到編碼採用一致的模型表示 具有高度連續性 軟體重用性好

類和對象

類 對現實世界中事物的描述(成員變數和方法)

對象 現實世界中實際存在具體的個體

範例程式碼一

#import <Foundation/Foundation.h>/** 類的聲明 **/@interface Car : NSObject {//大括弧內聲明成員變數 預設初始化為0(與函數的大括弧是不一樣的); NSObject: 根類 讓Car具備建立對象的能力    @public//此關鍵字可以讓成員變數被外界訪問    int age;//成員變數1    int height;//成員變數2}- (void) run;//對象方法@end/** 類的實現 **/@implementation Car- (void) run {    NSLog(@"小車%i歲,%icm,它在跑",age,height);}@end/** 主函數 **/int main() {    Car *c = [Car new];//建立對象    c->age = 10;//設定對象的屬性    c->height = 180;//設定對象的屬性        [c run];//調用對象方法    return 0;}/** 記憶體分析 **///[Car new] 每次都會建立出新的對象 並且返回對象的地址值 那麼就應該用一個指標變數儲存對象的地址

範例程式碼二

#import <Foundation/Foundation.h>@interface Person : NSObject {    @public    int age;    int height;}- (int) test : (int) i;//帶參數方法的聲明//- (int) test : (int) i test1 : (int) i1;//多參數方法的聲明@end@implementation Person- (int) test : (int) i {//帶參數方法的實現    return i * i;}//- (int) test : (int) i test1 : (int) i1 {//多參數方法的實現//    return i * i1;//}@endint main() {    Person *p = [Person new];    int tmp = [p test : 7];//帶參數方法的調用    //int i = [p test : 10 test1 : 9];//多參數方法的調用        NSLog(@"test方法的值是:%i", tmp);    return 0;}/** 注意 **///同一個類中不允許兩個對象方法同名/** 方法文法詳解 **///- (int) test : (int) i;//方法類型 (方法傳回值類型) 方法名 : (參數類型) 參數名;//[p test : 7]//[指標變數名 方法名 : 實際參數]//- (int) test : (int) i test1 : (int) i1;//方法類型 (方法傳回值類型) 方法名 : (參數類型) 參數名 方法名 : (參數類型) 參數名;//[p test : 10 test1 : 9]//[指標變數名 方法名 : 實際參數 方法名 : 實際參數]

 

Objective-C 類和對象

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.