#region
public
class
plane
set}
public
virtual
void
hurt
()public
plane
(string
name
,inthp)
}//小飛機
public
class
smallplane
:plane
set}
public
override
void
hurt
()public
smallplane
(string
name
,inthp)
:base
(name,hp
)}//大飛機
public
class
bigplane
:plane
set}
public
override
void
hurt
()public
bigplane
(string
name
,inthp)
:base
(name,hp
)}//玩家
public
class
player
else
console
.writeline
(plane
.name+"
受傷,血量為",
plane.hp
);}}
#endregion
#region
寫出乙個形狀的父類,裡面包含自定義構造,及乙個獲取面積和乙個獲取周長的抽象方法,寫出兩個子類(矩形、圓形),實現抽象方法和虛方法。
public
abstract
class
shape
public
shape
(float
length
,float
width
)public
shape
(float
diameter)}
//矩形
public
class
rectangle
:shape
public
override
float
area
()public
override
float
circumference
()public
rectangle
(float
length
,float
width):
base
(length
,width
){}}
//圓public
class
circle
:shape
public
override
float
area
()public
override
float
circumference
()public
circle
(float
diameter):
base
(diameter
){}}
#endregion
虛方法 重寫方法和抽象方法
若乙個例項方法的宣告中含有 virtual 修飾符,則稱該方法為虛方法 virtual method 若其中沒有 virtual 修飾符,則稱該方法為非虛方法 non virtual method 在呼叫乙個虛方法時,該呼叫所涉及的那個例項的執行時型別 runtime type 確定要呼叫該方法的哪...
C 虛方法和抽象方法
虛方法 1 virtual方法表示此方法可以被重寫,也就是說這個方法具有多型.父類中的方法是通用方法,可以在子類中重寫以重新規定方法邏輯.2 virtual方法可以直接使用,和普通方法一樣 3 不是必須重寫的.子類可以使用base.方法 的方式呼叫,無論有沒有在子類使用override去重寫 vir...
C 虛方法和抽象方法
虛方法 1 virtual方法表示此方法可以被重寫,也就是說這個方法具有多型.父類中的方法是通用方法,可以在子類中重寫以重新規定方法邏輯.2 virtual方法可以直接使用,和普通方法一樣 3 不是必須重寫的.子類可以使用base.方法 的方式呼叫,無論有沒有在子類使用override去重寫 vir...