物件導向(四)之封裝與繼承

2021-09-28 18:46:29 字數 1950 閱讀 2033

關鍵字: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...