經典回答
要理解面向對象思想,我們先要知道什么是對象?
《Java編程思想》中提到“萬物皆為對象”的概念。它將對象視為一種奇特的變量,它除了可以存儲數據之外還可以對它自身進行操作。它能夠直接反映現實生活中的事物,例如人、車、小鳥等,將其表示為程序中的對象。每個對象都具有各自的狀態特征(也可以稱為屬性)及行為特征(方法),java就是通過對象之間行為的交互來解決問題的。
面向對象就是把構成問題的事物分解成一個個對象,建立對象不是為了實現一個步驟,而是為了描述某個事物在解決問題中的行為。
類是面向對象中的一個很重要的概念,因為類是很多個具有相同屬性和行為特征的對象所抽象出來的,對象是類的一個實例。
類具有三個特性:封裝、繼承和多態。
- 封裝:核心思想就是“隱藏細節”、“數據安全”,將對象不需要讓外界訪問的成員變量和方法私有化,只提供符合開發者意願的公有方法來訪問這些數據和邏輯,保證了數據的安全和程序的穩定。
- 繼承:子類可以繼承父類的屬性和方法,並對其進行拓展。
- 多態:同一種類型的對象執行同一個方法時可以表現出不同的行為特征。通過繼承的上下轉型、接口的回調以及方法的重寫和重載可以實現多態。