OC方法和繼承

2021-07-08 15:24:44 字數 1265 閱讀 4689

oc是物件導向程式設計的語言,三個特點:繼承,封裝和多型.

oc中的方法分兩種,一種是+號,類方法,這個方法一般由類來使用;一種是-號方法,一般由物件來使用

oc中的id相當於void *,  稱為泛型指標,代表指標型別, 用id的時候不加*號

帶引數的方法:去掉方法,資料型別.和變數剩下的部分就是引數的形容詞,:必須留著,提示寫引數,有急個冒號就寫幾個引數

//+ (void)test:(nsstring *)str play:(nsstring *)play eat:(nsinteger)eat;

// 方法名是test: play: eat:  留下來的部分稱為引數的形容詞,:必須留著,提示你寫引數,有幾個冒號就有幾個引數

成員變數的可見度有四種

@public:公開的,共有的,這個可見度在類的外面可以進行對成員變數內容的設定,但是資料非常不安全,所有開發基本不用

@protected:被保護的,也是預設的可見度,被保護的成員變數可以在本類和繼承它的子類進行使用,不能在主函式進行設定,安全級別提高

@private:私有的,安全級別最高,被它修飾的成員變數只能在當前類裡進行內容設定,子類也不能使用

@package:系統的類,我們用不到,直接無視

成員變數賦值有兩種方式:1.設定器和訪問器(setter和getter方法):每乙個成員變數有一對設定器和訪問器,setter和getter只對乙個成員變數進行設定:完整版,防止野指標,記憶體管理部分

//    if (_per != per) 

2.對多個成員變數進行操作,叫做賦值語句,不是設定器

- (void)setstuname:(nsstring *)stuname

age:(nsinteger)age

score:(cgfloat)score

hobby:(nsstring *)hobby

***:(nsstring *)***;

繼承:物件導向的重要特點,主要目的是為了解決**重複的問題

子類可以繼承父所有特徵和行為,子類只需要寫獨有的成員變臉即可,其餘都可以繼承的方式得到,如果重複寫,會報錯

繼承有明顯的優勢在於可以節省**,但是弊端在於**的耦合度太高,也就是類和類之間的關聯性高.

oc可以使用繼承,但是不推薦多層的繼承,就是為了防止因為關聯性高,造成牽一髮而動全身

繼承是單向的,乙個類只能有乙個父類,但是可以有多個子類,nsobject是oc裡的根類,我們使用的init和alloc都是繼承來的

OC學習 三 繼承和方法

繼承是oc物件導向程式設計的三大特性之一 當多個類出現部分相同的例項變數和方法時,就要考慮使用繼承 繼承的使用 將多個類中相同的例項變數和方法提出來寫成乙個公共的父類 子類繼承父類 子類會將父類中除了宣告為 private 的例項變數以及私有方法之外的內容直接繼承,當子類和父類有同樣的內容時,可以將...

OC中繼承和復合

1,繼承的概念,為什麼使用繼承 繼承事面相物件語言的一大特徵,c 語言,面向過程的語言 順序,選擇,迴圈。三個特點。oc語言,物件導向的語言 封裝,繼承,多型。2 繼承的語法 1,繼承的語法 inte ce beautygirl nsobject 冒號之後表示要繼承的類 父 冒號之前表示繼承的類 子...

OC3 繼承和初始化方法

繼承和初始化方法 乙個完整的初始化方法 每乙個類只在乎自己的初始化方法就可以了 如果乙個初始化方法在被別的初始化方法呼叫 來初始化一系列的成員變數 就把這個方法叫做指派初始化方法 指派初始化方法的作用 1簡化 2確保在使用其他的初始化方法的時候指派初始化方法中得 一定被呼叫 實現遍歷構造器方法 把初...