Java春招面試題:Java面向對象的特徵有哪些?

面向對象程序設計(Object-Oriented Programming,以下簡稱OOP)起源於20 世紀60年代的Simula語言,是一種發展已經將近30年的程序設計思想。其自身理論已經十分完善,並被多種面向對象程序設計語言(Object-Oriented Programming Language,以下簡稱OOPL)實現。如果把UNIX系統看成是國外在系統軟件方面的文化根基,那麼Smalltalk語言無疑在OOPL領域和UNIX持有相同地位。

OOP的許多原始思想都來自於Simula語言,並在Smalltalk語言的完善和標準化過程中得到更多的擴展和對以前的思想的重新註解。可以說OO思想和OOPL幾乎是同步發展、相互促進的。與函數式程序設計(functional-programming)和邏輯式程序設計(logic-programming)所代表的接近於機器的實際計算模型所不同的是,OOP幾乎沒有引入精確的數學描述,而是傾向於建立一個對象模型,它能夠近似地反映應用領域內的實體之間的關係,其本質是更接近於一種人類認知事物所採用的哲學觀的計算模型。在OOP中,對象作爲計算主體,擁有自己的名稱、狀態以及接收外界消息的接口。在對象模型中,產生新對象、舊對象銷燬、發送消息、響應消息就構成OOP計算模型的根本。

對象的產生有兩種基本方式:一種是以原型(prototype)對象爲基礎產生新的對象;一種是以類(class)爲基礎產生新對象。

原型的概念已經在認知心理學中被用來解釋概念學習的遞增特性,原型模型本身就是企圖通過提供一個有代表性的對象爲基礎來產生各種新的對象,並由此繼續產生更符合實際應用的對象。而原型-委託也是OOP中的對象抽象,是代碼共享機制中的一種。
一個類提供了一個或者多個對象的通用性描述。從形式化的觀點看,類與類型有關,因此一個類相當於是從該類中產生的實例的集合。而這樣的觀點也會帶來一些矛盾,比較典型的就是在繼承體系下,子集(子類)對象和父集(父類)對象之間的行爲相融性可能很難達到,這也就是 OOP 中常被引用的子類型(subtype),不等於子類(subclass)。而在一種所有皆對象的世界觀背景下,在類模型基礎上還誕生出了一種擁有元類(metaclass)的新對象模型。即類本身也是一種其他類的對象。

以上3種根本不同的觀點各自定義了3種基於類(class-based)、基於原型(prototype-based)和基於元類(metaclass-based)的對象模型。而這3種對象模型也就導致了許多不同的程序設計語言(如果暫時把靜態與動態的差別放在一邊)。讀者經常接觸的C++、Java都是使用基於類的對象模型。

求職者如何理解OOP設計思想、繼承及接口等,是面試中常見的考查內容。讀者必須掌握如下的知識點。

理解面向對象的特徵。

掌握面向對象設計的幾個原則。

理解Java 類的繼承,能夠區分是一個(is a)和有一個(has a)關係。

理解方法重載和方法覆蓋,以及兩者的區別。

掌握構造函數,重點理解構造函數的執行過程。

區分super 和this 的用法和含義。

面試題1 請說出面向對象的特徵有哪些

考點:該試題重點考察求職者對面向對象的理解,答題時把握幾個重要的特徵即可。

出現頻率:★★★★★

考題解析

本題需要求職者說出面向對象的特徵。面向對象是一種設計思想,大體上有如下 4個特徵:抽象、繼承、封裝和多態性。求職者只要把握這幾個基本特徵,並進行具體描述即可。

參考答案

抽象:抽象就是忽略一個主題中與當前目標無關的那些方面,而將目標的某個特徵進行提煉。抽象並不需要了解全部問題,而只是選擇其中的一部分。抽象包括兩個方面:過程抽象和數據抽象。

繼承:繼承是一種聯結類的層次模型,它提供了一種明確表述共性的方法,並且允許和鼓勵類的方法重用。新類可以從現有的類中派生,這個過程稱爲類繼承。新類繼承了原始類的特性,新類稱爲原始類的派生類(子類),而原始類稱爲新類的基類(父類)。派生類可以從它的基類那裏繼承方法和實例變量,並且可以修改或增加新的方法,使之更適合特殊的需要。

封裝:封裝把過程和數據包圍起來,對數據的訪問只能通過調用已定義的接口。面向對象始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。

多態性:多態性允許不同類的對象對同一消息做出響應。多態性語言具有靈活、抽象、行爲共享、代碼共享的優勢,很好地解決了應用程序的函數同名問題。

以上內容來自面試的書籍《Java程序員面試祕笈》

在這裏插入圖片描述

此書已加入到VIP會員卡,只要購買VIP會員卡即可免費閱讀上百本電子書,這張VIP卡除了免費讓你讀書,還有更多的權益等你來領,往下↓拉
在這裏插入圖片描述

閱讀電子書的方法如下:

打開CSDN APP(軟件商城搜索“CSDN”即可找到哦)—>登錄CSDN賬號—>學習—>電子書

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章