訪問控制修飾符的作用是控制類中的成員可以在哪些範圍內被訪問到
用的最多的有2個
public 公共的意思, 訪問範圍最大, 可以任意範圍內訪問
private 私有的意思, 訪問範圍最小, 只能在本類中被訪問
類中的要素, 屬性, 方法, 構造器, **塊, 成員內部類, 這些要素都隸屬於類, 對於本類而言, 這些要素就是互為成員, 既然是互為成員, 那麼它們之間的互相訪問是沒有任何障礙.
只需要把類中的成員使用private修飾就是私有化了, 而一旦成員被私有化, 這個成員也稱為被封裝了
注意 : **塊不能封裝
public class teacher
public void eat(string something)
// 描述物件的詳細資訊, 把所有的屬性值串接成乙個字串
public string say()
}public class teachertest
}.1. get/set方法
因為成員一旦私有化, 就不可以在其他類中直接訪問了, 但是在其他類中仍然有訪問的需求, 成員之間是可以互相訪問的, 所以解決這個問題的方法就是在本類中新增一些公共方法, 通過方法間接訪問類中的私有成員.
public class teacher
// 用於間接獲取name屬性, 所以方法必須公共的
public string getname()
public void setgender(string g)
public string getgender()
public void setage(int age)
// get方法有返回值, 沒有引數
public int getage()
// 例項方法
public void lesson()
public void eat(string something)
// 描述物件的詳細資訊, 把所有的屬性值串接成乙個字串
public string say()
}2.間接訪問屬性
public class teachertest
}3. 為什麼要封裝
如果不使用封裝而直接訪問物件的屬性, 就可以給屬性賦上一些不合理的資料值, 比如
t.age = 50000; // 顯然這個操作是應該失敗的, 因為年齡不合理
但是如果通過方法來賦值, 就可以把這種錯誤攔截住
相同的道理, 如果要獲取某個屬性, 但是需要在內部再處理一下, 也可以通過方法來實現
// 保護資料
public void setage(int a)
age = a;
}
物件導向基本特徵
通過學習設計模式對物件導向程式設計有了更深層次的了解。在 大話設計模式 一書中的第乙個設計模式裡 簡單工廠模式 體會到了自己學習物件導向程式設計時的歷程。首先要保證 無錯,我想這是大部分初學者的心願。其次就是 規範,這一點是很重要的,程式不僅僅是寫給自己看的,更需要讓別人能看懂。別人能看懂還不行,畢...
物件導向基本特徵
物件導向4大基本特徵 抽象 封裝 繼承 多型。抽象。將一些事物的共性抽離出來歸為乙個類。如對於動物,具有生命體徵 活動能力等區別於其它事物的共同特徵 封裝。有選擇地隱藏和暴露資料和方法。比如有u盤這個類,我希望隱藏內部組成和實現,只暴露usb介面以供使用 繼承。子類可以直接使用父類的部分資料和方法,...
物件導向的三個基本特徵 物件導向基本特徵
物件導向的三個基本特徵 封裝是物件和類概念的主要特徵,就是把客觀的封裝起來,只對外暴露出來,並把自己的資料和方法只讓可信的類或物件操作作用 隱藏實現細節,使得 模組化 使用現有類的所有功能,並且無需重新編寫原來的類中的方法對這些功能的擴充套件,oc只能實現單繼承,如果想要實現多繼承的話可以通過分類或...