關鍵字:private
隱藏類的內部細節,提供外部訪問的介面。叫做封裝。封裝使用get ,set方法。
this: 表示當前物件。
類中擁有構造方法。構造方法是用來構建物件。
構造方法是: 方法名稱與類名相同,無返回值的方法。
預設乙個類中,有乙個無參構造方法。不寫也有。
當手動提供了乙個有參構造方法。系統將不再提供無參構造方法。
// 無參構造方法。
public
user()
// 有參構造方法。
public
user
(string id, string username, string password)
// 過載構造方法。
public
user
(string username,string password)
;
user user = new user(name,pwd);// 這個就是構造方法呼叫。
方法的過載:在乙個類中,方法名稱相同,引數列表不同,與返回值無關的方法,叫做方法的過載。
// 接下來的**演示方法的過載這個概念。
// 方法的過載:在乙個類中,方法名稱相同,引數列表不同,與返回值無關的方法,叫做方法的過載。
public
void
show()
// 方法的過載
public
void
show
(int a)
// 方法的過載
public
void
show
(int b,
double c)
// 方法的過載
public
void
show
(double c,
int b)
// 方法的過載 ,錯誤,方法的過載,與引數列表有關,與返回值無關。
// public int show(double c,int b)
繼承:繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用, 它提供了一種明確表述共性的方法。物件的乙個新類可以從現有的類中派生, 這個過程稱為類繼承。新類繼承了原始類的特性, 新類稱為原始類的派生類(子類),而 原始類稱為新類的基類(父類)。派生類可以從它的基類那裡繼承方法和例項變數,並且類可以修改或增加新的方法使之更適合特殊的需要。
什麼是繼承:子類可以繼承父類共有的屬性和方法。繼承關鍵字是:extends
子類不能繼承父類的構造方法。也就是說super()不是繼承,是呼叫。
繼承的優點:實現類的重用,減少**的冗(rǒng)餘。
子類繼承了父類後:
子類可以訪問父類中的公有的屬性,物件可以直接訪問父類的屬性
[子類可以訪問父類中的方法]。 物件可以直接訪問父類的方法。
子類可以重寫父類中的方法。
什麼叫做重寫:
子類重寫了父類中的方法:方法名稱相同,引數列表相同,返回值相同。
什麼叫做過載:
僅僅在乙個類中,方法名相同,引數列表不同,與返回值無關。
什麼叫做構造方法
在乙個類中,方法名稱與類名相同,無返回值的方法,叫做構造方法。
this 當前物件
super 父類物件
this() 當前物件的構造方法。
super() 父類物件的構造方法。
子類的構造方法中,會預設呼叫父類的無參構造方法super()。可以指明呼叫父類的有參構造方法。
super(); 必須出現在第一行。
問:為什麼子類會首先呼叫父類的構造方法。
因為在繼承關係中,必須先有父,再有子。
object 是所有類的(超類)(基類)(父類)
物件導向之封裝與繼承
基本資料型別傳遞數值 引用資料型別傳遞的是位址。常量池 儲存資料的時候,先便利本記憶體中是否包含即將要儲存的資料,如果包含,則不重新開闢空間,如果不包含,開闢新的空間儲存。private 只允許本類使用,其他類看不到 封裝 給屬性賦值的時候增加限制 將屬性新增private,只允許本類使用此屬性 將...
Delphi物件導向 繼承與封裝
delphi物件導向學習隨筆四 繼承與封裝 在討論類的封裝前,我想先說說 繼承 和 包含 的區別。繼承 是乙個 is a 我在看很多資料的時候,講到類的繼承時,很多資料都會提到 選乙個合適的類做為新類的父類可以有效的提高 的重用程度,從而減少很多重複的工作量。的確,上面的話很有道理,合理的選擇父類是...
javascript 物件導向封裝與繼承
整理一下js物件導向中的封裝和繼承。1.封裝 js中封裝有很多種實現方式,這裡列出常用的幾種。1.1 原始模式生成物件 直接將我們的成員寫入物件中,用函式返回。缺點 很難看出是乙個模式出來的例項。複製 如下 function stu name,score var stu1 stu 張三 80 var...