問題:面向對象的特徵有哪些?編程
答:封裝,繼承,多態和抽象。編程語言
1. 封裝 封裝給對象提供了隱藏內部特性和行爲的能力。對象提供一些能被其餘對象訪問的方法來改變它內部的數據。在 Java 當中,有 3 種修飾符:public,private 和 protected。每一 種修飾符給其餘的位於同一個包或者不一樣包下面對象賦予了不一樣的訪問權限。模塊化
下面列出了使用封裝的一些好處:對象
經過隱藏對象的屬性來保護對象內部的狀態繼承
提升了代碼的可用性和可維護性,由於對象的行爲能夠被單獨的改變或者是擴展接口
禁止對象之間的不良交互,提升模塊化擴展
2. 繼承 繼承給對象提供了從基類獲取字段和方法的能力。繼承提供了代碼的重用行,也能夠在不修改類的狀況下給現存的類添加新特性。權限
3. 多態 多態是編程語言給不一樣的底層數據類型作相同的接口展現的一種能力。一個多態類型上的操做能夠應用到其餘類型的值上面。數據類型
4. 抽象 抽象是把想法從具體的實例中分離出來的步驟,所以,要根據他們的功能而不是實現細節來建立類。Java 支持建立只暴露接口而不包含方法實現的抽象的類。這種抽象技術的主要目的是把類的行爲和實現細節分離開。方法