面向對象3大特性:封裝、繼承、多態。編程
面向對象2大原則:函數
1)里氏替換原則:子類能夠給父類,父類不能賦給子類。指針
2)開放封閉原則: 封裝變化,下降耦合。(對擴展開放,對修改封閉)對象
****************繼承
多態定義:容許子類類型的指針賦值給父類類型的指針。父類能夠成爲一種子類,實現這種子類的操做。接口
多態實現:1)虛函數 overwrite 2)抽象類:abstract class,簡化父類的定義,在不須要建立父類對象的場合,能夠使用抽象類it
2)接口class
多態目的:能夠屏蔽不一樣子類對象之間的差別,寫出通用的代碼,作出通用的編程,以適應需求的不斷變化擴展
***************ab
子類能夠同時繼承自父類和接口,這個子類能夠賦值給父類,也能夠賦值給接口對象。