黑 馬 程 序 員_視頻學習總結<Objective-C>----01 物件導向思想、類和對象、物件導向方法

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   strong   檔案   io   

 ---------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ----------------------

 

一、物件導向1、 物件導向和面向過程思想區別

OC為物件導向、C為面向過程。實質是解決問題的兩種不同的思想。面向過程關注的是步驟,物件導向關注的是解決問題需要的對象。

2、 常用術語

面向過程:Procedure Oriented
物件導向:Object Oriented 簡稱OO
物件導向編程:Object OrientedProgramming 簡稱OOP

3、 怎樣建立對象

類:描述屬性、行為。是對無數個相同屬性的對象的描述,是抽象的。
對象:具體化類。

4、 類的設計(3步驟)

1>類名字(命名規範:第一個字幕必須大寫、不能用 底線、多個英文單詞必須用駝峰標誌)
2>屬性
3>行為(功能)

5、 類的劃分

名詞一般都是類。一般擁有相同屬性和行為的對象都可以抽象成一個類。

6、 例子

植物大戰殭屍中的殭屍類
類名:Zoombie
屬性:life(生命值)speed(速度) gongjili(攻擊力)
行為:walk(走) bite(咬) die(死亡)
雷電遊戲中的飛機
類名:Plane
屬性:life(生命值)gongjili(攻擊力) speed(速度) bombCount(炸彈數量)
行為:fly(飛)bomb(爆炸) shoot(射擊) die(死亡)

 

二、類和對象 1.類: 類的設計只關注三個東西:類名、屬性和方法。類的聲明使用關鍵字@interface和@end。類的實現使用關鍵字@implementation和@end。 2.方法的聲明和實現,都必須以 + 或者 - 開頭
  • + 表示類方法(靜態方法)
  • - 表示對象方法(動態方法)
3.在.h中聲明的所有方法範圍都是public類型,不能更改 4.成員變數常用範圍有3種:

1> @public 全域都可以訪問
2> @protected 只能在類內部和子類中訪問
3> @private 只能在類內部訪問

 

三、類的聲明和實現的練習

1.建立一個Person類

類的聲明:

 

類的實現:

主函數

 

四、常見錯誤[email protected]  @end和@implementation  @end不能嵌套包含2.只有類的聲明沒有類的實現3.漏寫@end4.兩個類的聲明嵌套(可以把順序打亂)5.成員變數沒有寫在{}裡6.方法的聲明寫在了{}裡面7.在聲明時對類的成員變數進行初始化,請注意成員變數不能脫離對象而獨立存在8.方法無法像函數那樣的調用9.成員變數和方法不能用static等關鍵字修飾,不要和c語言混淆10.類的實現可以寫在mian函數後面,在使用之前只要有聲明就可以

 

五、OC對象與函數有著本質的區別:

1.方法的實現只能寫在@implementation··@end中,對象方法的聲明只能寫在@interface···@end中間

2.對象方法都以-號開頭,類方法都以+號開頭

3.對象方法只能由對象來調用,類方法只能由類來調用,不能當做函數一樣調用

4.函數屬於整個檔案,可以寫在檔案中的任何位置,包括@implementation··@end中,但寫在@interface···@end會無法識別,函數的聲明可以再main函數內部也可以在main函數外部。

5.對象方法歸類\對象所有

6.函數調用不依賴與對象

7.函數內部不能直接通過成員變數名訪問對象的成員變數

 

六、 類和方法的設計

設計一個工具類:一個計算機類,要求(1)返回π,(2)計算兩個整數的和,(3)計算某個整數的平方。

類的聲明部分

類的實現部分

 七、物件導向方法1. 對象方法

1>對象方法以-開頭如 -(void)xx;

2>對象方法只能又對象來調用

3>對象方法中可以訪問當前對象的成員變數

4>調用格式   [對象名  對象方法名];

2.類方法

1>類方法以+開頭  如+(void)put;

2>類方法只能由類來調用

3>類方法中不能訪問執行個體(成員)變數,因為類方法又類來調用,並沒有建立儲存空間來儲存類中的成員變數。

4>調用格式:[類名  類方法名];

5>類方法的好處和適用場合:

不依賴於對象,執行效率更高;

能用類方法解決的問題,盡量使用類方法;

場合:當方法內部不需要使用到成員變數時,可以改為類方法。

3. 方法名

1>不帶參數的方法

聲明:

調用:

2>帶參數的方法

聲明:

調用:

 注意:冒號也是方法名的一部分。

 

---------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ----------------------

詳細請查看:www.itheima.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.