c 繼承和介面設計 多型性

2021-10-10 15:20:47 字數 2056 閱讀 6326

隱藏基類:法1-用新的派生成員替換基成員

class

a}

classb:

a}

static

void

main

(string

args)

//結果是「b」

法2-重寫虛擬的基成員

重寫:子類基類有相同簽名。:重寫的基方法virtual、abstract或override。

過載:同類中,同名稱,不同引數,不同簽名。

預設,方法非虛擬,不能重寫非虛方法。virtual修飾符不能與static、abstract和override修飾符一起使用。在靜態屬性上使用virtual修飾符是錯誤的。

class

student

public

virtual

void

dispdata()

//虛方法

姓名: 班 主 任:"

, no, name, tname)

;}

class

graduate

:student

姓名: 指導教師:"

,no, name, tname);}

}

static

void

main

(string

args)

設計乙個控制台應用程式,採用虛方法求長方形、圓、圓球體和圓柱體的面積或表面積。

public

class

rectangle

//長方形類

public

rectangle

(double x1,

double y1)

public

virtual

double

area()

//求面積

public

class

circle

:rectangle

//圓類

public

override

double

area()

//求面積

}

class

sphere

:rectangle

//圓球體類

public

override

double

area()

//求面積

}

class

cylinder

:rectangle

//圓柱體類

public

override

double

area()

//求面積

}

static

void

main

(string

args)

,寬為的長方形面積="

, x, y, t.

area()

);console.

writeline

(" 半徑為的圓面積="

, r, c.

area()

);console.

writeline

(" 半徑為的圓球體表面積="

, r, s.

area()

);console.

writeline

("半徑為,高度為的圓柱體表面積="

C 多型性和繼承性

這篇文章是6年前的,從自己的qq 632846506 日誌中移過來的。前段時間有人突然問我c 多型性的理論知識,一下子把我問蒙了,用c 近十年,讓我一下子回答多型性的理論。我答不上來,只是簡單的回答了下 多型性主要用在函式介面上,主要是虛函式和純虛函式 的使用,基類中的函式可以在不同子類中有不同的實...

C 繼承與多型性

編寫乙個人員資訊管理系統。這個系統的功能是 互動式的實現校園人員資訊的錄入與顯示。分析 學校裡,主要有四類人員 大學本科學生 教師 研究生和助教。大學本科生每週有固定的學時數。教師除了固定的學時數外,還有每週的教學時數。研究生除了固定的學時數外,每週還可以自由做一定的研究。助教生除了上課外,還要做研...

多型性和虛繼承

多型性 字面意思是多種形狀,即 乙個介面,多種方法 c 的多型性是由虛函式來實現的,虛函式允許派生類重新定義成員函式,派生類重新定義基類的方法稱為遮蔽。只有重寫虛函式才算是體現了函式的多型性。過載沒有體現多型性,因為過載是根據同名函式的不同引數型別選擇使用哪個函式的。include using na...