oc物件導向—封裝
一、物件導向和封裝
物件導向的三大特性:封裝(成員變數)、繼承和多型
在oc語言中,使用@inte***ce和@implementation來處理類。
@inte***ce就好像暴露在外面的時鐘表面,像外界提供展示以及介面。@implementation就好像隱藏在時鐘內部的構造實現,把具體的實現封裝了起來。
二、set方法
在開發過程中,考慮到安全性要求,我們一般不在成員變數名前面使用@public、@protected等關鍵字修飾,而是使用set方法來為物件提供成員變數的值。在set方法的內部也可以對一些不合理的賦值進行篩選過濾。
set方法的作用:為外界提供乙個設定成員變數值的方法
命名規範:
(1)方法名必須以set開頭
(2)set後面跟上成員變數的名稱,首字母大寫
(3)返回值一定是void
(4)一定要接收乙個引數,而且引數型別需要和成員變數的型別一致
(5)形參名不能喝成員變數名一樣(蘋果官方推薦成員變數名前加_以示區分)
set方法的好處:
(1)不讓資料暴露在外,保證了資料的安全性
(2)對設定的資料進行過濾
set方法使用示例:
set方法的宣告:
set方法的實現:
測試程式:
三、get方法
get方法的作用:為呼叫者返回物件內部的成員變數
命名規範:
(1)一定有返回值,返回值的型別和成員變數的型別一致
(2)方法名和成員變數名一樣
(3)不需要接收任何引數
get方法使用示例:
get方法的宣告:
get方法的實現:
測試程式:
注意1:在實際的開發中,不一定set和get方法都會提供,如果內部的成員變數比如學生的學號這樣的資料只允許外界讀取,但是不允許修改的情況,則通常只提供get方法而不提供set方法。
注意2:成員變數名的命名以下劃線開頭,get方法名不需要帶下劃線,使用下劃線開頭有兩個好處:(1)與get方法的方法名區分開來;(2)可以喝一些其他的區域性變數區分開來,下劃線開頭的變數,通常都是類的成員變數。
四、self關鍵字
self是乙個指標,誰呼叫了當前方法,self就指向誰
【出現在物件方法中,就代表著當前物件,出現在類方法中,就代表著當前類】
self的用途:
(1)可以利用self->成員變數名訪問當前物件內部的成員變數(僅在物件方法中)
(2)[self 方法名];可以呼叫其他的物件方法或者是類方法
五、練習
要求:設計乙個成績類
實現:
測試程式:
iOS開發物件導向篇 多型
oc物件導向 多型 一 基本概念 多型在 中的體現,即為多種形態,必須要有繼承,沒有繼承就沒有多型。在使用多型是,會進行動態檢測,以呼叫真實的物件方法。多型在 中的體現即父類指標指向子類物件。animal類的宣告 animal類的實現 dog類繼承自animal類 dog類的實現 測試程式 二 使用...
iOS開發 物件導向三大特徵
向物件的三大特徵,並作簡單的介紹 物件導向三大特徵為封裝,繼承,多型.封裝是封好乙個抽像的類,隱藏內部的實現,對外部提供介面.來方便外界進行呼叫.繼承是可以使用現有類的所有功能,並且在無需編寫原來類的情況下對這些功能進行擴充套件.子類可以繼承父類所有的特徵和行為,比如a繼承於b,b繼承於c,那麼a就...
iOS開發 面試
今天一大清早去面試,公司距離我家還挺近的,花了乙個小時走著去,也順路印下簡歷,理理思路,到了公司面試官什麼的都不錯,還給我講了很多知識,收穫也是滿滿的,總結下今天都遇到了哪些問題,調整調整狀態.1,當需要自定義tabbar的item的數量可變時怎麼做的 這裡原本是想說自定義tabbar的,不過估計考...