OC學習筆記04 理解物件導向

2021-10-04 07:00:28 字數 1674 閱讀 8419

物件導向是相對於面向過程而言的

物件導向和面向過程都是一種思想

面向過程

強調的是功能行為

關注的是解決問題需要哪些步驟

物件導向

將功能封裝進物件,強調具備了功能的物件

關注的是解決問題需要哪些物件

物件導向是基於面向過程的

物件導向的特點

是一種符合人們思考習慣的思想

可以將複雜的事情簡單化

將程式設計師從執行者轉換成了指揮者

完成需求時:

先要去找具有所需功能的物件來用。

如果該物件不存在,那麼建立乙個具有所需功能的物件。

這樣簡化開發並提高復用。

類與物件的關係

類是具體事務的抽象,概念上的定義。

物件即是該類事務實實在在存在的個體

類的定義

具有相同屬性的事物的集合。

屬性:對應類中的成員變數

行為:對應類中的成員方法

在oc中建立乙個類

包括兩部分:宣告和實現

1.宣告

類的宣告必須以@inte***ce開頭,必須以@end結尾

nsobject是所有類的祖先類,也叫基類,;nsobjeect 使person具有建立物件的能力

注意:如果乙個類只有宣告而沒有實現,那麼這個類在鏈結的時候就會報錯,不會建立成功。

2.實現

類的實現必須以@inmplementation 開頭,必須以@end結尾

oc中方法宣告的格式:

無形參:方法型別符(返回值型別)方法名稱

物件方法:是屬於物件的,只能由物件呼叫,它的方法型別符是 -

注意點:

1.成員的宣告必須在@inte***ce與@end之間{}中,不能放在大括號外。

2.方法的宣告必須放在大括號和@end之間。

3.@implementation是用來實現方法的

4.如果乙個類只有宣告沒有實現,那麼鏈結就會報錯。

@inte***ce person : nsobject-(

void

) show;/*吃

帶有乙個引數的方法*/-

(void

) eat:

(char

*) food ;-(

void

) eat:

(char

*) food using:

(char

*) tools;

@end

@implementation person -(

void

) show -

(void

) eat:

(char

*) food -

(void

) eat:

(char

*) food using:

(char

*) tools /*

1.:是方法名稱的一部分

2.乙個:對應乙個形參

3.方法宣告中的所有資料型別都要用()括起來

4.:前面的文字是用來描述引數的作用的

5.冒號前面的引數說明是可以省略的,但是開發時千萬不要省略

*/@end

intmain

(int argc ,

char

*ar**)

OC物件導向

oc物件導向 1 自定義建構函式 意義 在建立乙個物件的同時,為這個物件賦乙個初值 目的 傳參 注意 1 initwith w 一定要大些 2 如果沒有使用initwith或者w小寫,系統不認為它是乙個建構函式 2 oc函式 方法 1 不需要傳參的公式 返回值型別 方法名 2 需要傳參的函式 寫帶引...

OC 物件導向

類與物件 一.類 1.eg inte ce student nsobject 特徵大括號編寫 行為大括號編寫 end 敘述 1 inte ce介面檔案是乙個類的開始 2 student是當前的類名 3 nsobject是類繼承的父類 4 類的執行到 end結束 注釋 檔名與類名是沒有任何關係的,但是...

OC 物件導向

建立乙個類 comm n 例項變數的可見度 public,protect private public 共有的,在類的內部和外部都可以進行訪問 protected 受保護的,在類的內部和子類中可以進行訪問,例項變數預設是受保護的 private 私有的,只能在類的內部進行訪問,子類中也不可以訪問 o...