2015-09-15 33 views

回答

3

你指的是現實世界中「A Live軟件包含抽象類或接口的系統「,或者你的意思是」一個證明它們的用處的人爲的例子「?

如果你的意思是後者認爲Vehicle是一個抽象類。你還無法做任何事情,因爲你不知道它做了什麼,或者如何駕駛它。

抽象類車{}

到機動和腳踏動力,但仍這是抽象的,我們仍然不知道該怎麼辦

車輛可進行拆分。

abstract class MotorVehicle : Vehicle {} 

abstract class PedaledVehicle: Vehicle {} 

您現在可以定義一個具體的(非抽象的)類,例如汽車。

class MotorCar : MotorVehicle {} 

接口派上用場,你只能從一個基類繼承。所以,想象一些車輛驅動的,其他都是遙控,一些車輛使用穩坐在方向盤,別人不

interface IDrivable{} 

interface IHasStearingWheel{} 

現在你可以得到從它的基類DrivableMotorCar,並實施其他行爲。

class DrivableMotorCar : MotorVehicle, IDrivable, IHasStearingWheel {} 
0

是的,它可能對某些人來說是令人困惑:)

沒有實現的抽象類看起來像一個接口。 Hovewer有一些差異。

抽象類不能被實例化。它曾經是任何繼承類的基類。這是從其繼承的其他類的合約,它強制所有的子類繼承相同的標準。

一個接口根本不是一個類。它沒有實現。 我覺得主要的區別是,類可以實現多個接口,但只有一個類。

相關問題