在介紹重寫和重載之前首先要介紹一些基礎知識即子類和父類。
子類與父類:
如果一個類A繼承另一個類B,那麼A類就稱爲B類的子類,而把B類稱爲A的父類。
子類繼承時自動共享父類的數據結構及方法的機制,這是類與類之間的一種關係,在進行定義和實現時,可以在一個已經存在的類上進行,並將它所定義的內容佔爲己有,同時加上自己的特色。
那麼理解了什麼是子類和父類之後,有利於我們瞭解下面的重載和重寫。
重寫與重載重寫(override): 子類重寫父類中的方法,不管父類中包含的是虛方法還是抽象方法,子類都可以重寫。
重載(overload):重載是方法的名稱相同,參數或類型不同,可以進行多次重載以適應不同的需要。
重寫與重載的區別:
重寫是子類重寫父類的方法,面向於對象。
重載則是爲方法添加不同參數不同類型的內容,偏向於面向過程。
虛方法(virtual):當進行方法聲明時,在前面使用virtual修飾符,我們就將其稱之爲虛方法,相反的話則稱之非虛方法,值得注意的是當我們使用了virtual修飾符後,就不能再使用static、abstract、override修飾符。虛方法裏有內容。
抽象方法(abstract):在進行面向對象編程時,抽象方法指的是隻有方法聲明,卻沒有具體方法體的方法,通常用於抽象類或接口中。
抽象類指的是一個類中沒有清晰的描繪一個具體的對象,那麼這個類就是抽象類,使用abstract進行修飾的類就是抽象類,抽象類並不完整因此只能用作基類,且不能實例化。
虛方法與抽象方法的不同
多態
多態是指當一個類同時表現多重不同的能力,同一操作作用於不同的對象,有不同的解釋產生不同的執行結果。