5 4物件導向程式設計(中) 關鍵字 super

2021-10-17 11:29:18 字數 1776 閱讀 7888

一、說明

1.super理解為:父類的

2.super可以用來呼叫:屬性、方法、構造器

二、關於super的使用:呼叫屬性和方法

1.我們可以在子類的方法或構造器中,通過使用「super.屬性」或「super.方法」的方式,顯示的呼叫父類中宣告的屬性和方法。但是,通常情況下,我們習慣省略「super.」

特殊情況:

(1)當子類和父類中定義了同名的屬性時,我們要想在子類中呼叫父類中宣告的屬性,則必須顯式的使用「super.屬性」的方式,表明呼叫的是父類中宣告的屬性。

(2)當子類重寫了父類中的方法以後,我們i想在子類的方法中呼叫父類中被重寫的方法時,則必須顯式的使用「super.方法」的方式,表明呼叫的是父類中宣告的方法。

三、super呼叫構造器

1.我們可以在子類的構造器中顯式的使用「super(形參列表)」的方式,呼叫父類中宣告的指定的構造器。

2.「super(形參列表)」的使用,必須宣告在子類構造器的首行!

3.我們在類的構造器中,針對於「this(形參列表)」或「super(形參列表)」只能二選一,不能同時出現。

4.在構造器的首行,沒有顯式的宣告「this(形參列表)」或「super(形參列表)」,則預設呼叫的時父類中空參的構造器。即「super()」

5.在類的多個構造器中,至少有乙個類的構造器中使用了「super(形參列表)」,呼叫父類中的構造器。

person類:

public

class

person

public

person

(string name)

public

person

(string name,

int age)

public

void

eat(

)public

void

walk

(int distance)

}

stydent類:

public

class

person

public

person

(string name)

public

person

(string name,

int age)

public

void

eat(

)public

void

walk

(int distance)

}

supertest類:

public

class

supertest

}

輸出:

我一直都在的

name = null. age =

0id =

1002

id =

1001

學習null專業技能

吃學生餐

吃飯name = tom. age =

20id =

1002

id =

1001**

****

****

****

****

****

****

*我一直都在的

物件導向程式設計 static關鍵字

物件導向程式設計 static關鍵字 static關鍵字總結 class static 2,靜態方法 a,和靜態變數相同,靜態方法同樣可以在不建立物件下,通過類名直接呼叫.b,在靜態方法裡只能直接呼叫同類中其它的靜態成員 包括變數和方法 而不能直接訪問類中的非靜態成員。這是因為,對於非靜態的方法和變...

c primer 物件導向程式設計關鍵字

1.虛函式 virtual關鍵字來定義,主要是基類的派生類,作用是為了派生類可以在相同函式名的時候,可以有自己的功能,而不用執行基類的行為。class pp void pp test 結果是 test tt tt 2.關鍵字 static 靜態成員 靜態成員如果有n個同類的物件,那麼每乙個物件都分別...

物件導向程式設計 八 this關鍵字

很多人一提起它,就說 當前物件 可到底什麼是當前物件,是什麼當前物件,他自己也不清楚。this 隱式引數 例1 public class student 構造方法 public student string name,int id public student string name public ...