目錄[隱藏][顯示]
- 1. 什麼是面向對象編程?
- 2. 為什麼需要 OOP?
- 3. OOPS 原則有什麼好處?
- 4. OOP 概念的支柱是什麼?
- 5. 究竟什麼是類?
- 6. 究竟什麼是對象?
- 7. OOP 的限制是什麼?
- 8.什麼是繼承?
- 9. 究竟什麼是封裝?
- 10.什麼是多態性?
- 11. 究竟什麼是抽象?
- 12. 方法重載到底是什麼?
- 13. 方法重載到底是什麼?
- 14. 究竟什麼是超類?
- 15. 子類到底是什麼?
- 16. 靜態多態究竟是什麼?
- 17. 動態多態究竟是什麼?
- 18. 描述構造函數的概念。
- 19. 訪問修飾符到底是什麼?
- 20. 究竟什麼是析構函數?
- 21.究竟什麼是混合繼承?
- 22. 什麼是層次繼承?
- 23. 繼承有什麼弊端?
- 24. 究竟什麼是異常?
- 25. 異常處理到底是什麼,它有什麼好處?
- 26. 究竟什麼是虛函數?
- 27. 什麼是朋友功能?
- 28. 垃圾收集到底是什麼?
- 29. 耦合到底是什麼?
- 30. 究竟什麼是凝聚力?
- 31. 描述一個 try/catch 塊。
- 32. 描述最後一個塊。
- 33. 究竟什麼是接口?
- 34. 究竟什麼是構圖?
- 35. 構造函數鏈到底是什麼?
- 結論
最有影響力的編程範式之一稱為 OOP,或面向對象編程。 它強調類和對象,而不是功能和過程。
它的主要目標是連接數據和事物,以便更輕鬆地使用它們。 OOP 中的每個對像都由過程或方法形式的代碼和字段形式的數據組成。
C++、Objective C、Python、Perl 和 Java 等語言是一些最流行的面向對象的語言 編程語言.
了解更多關於這一點至關重要,因為 oops 面試問題非常典型。 大多數公司都在尋找熟悉面向對象方法和模式的工程師。 所以,如果你打算參加面試,你必須精通 OOP 的想法。
這篇文章將展示從初學者到專家級別的各種面向對象編程面試問題。 因此,您可以通過任何級別的面試並獲得理想的職位。
1. 什麼是面向對象編程?
面向對象 (OOP) 的編程基於實際對象,而不僅僅是函數和進程。 為單個產品創建類。
繼承、多態和隱藏是 OOP 融入編程的現實世界概念的示例。 它還使連接數據和代碼成為可能。
2. 為什麼需要 OOP?
OOP 更受歡迎的原因有很多,但是,以下是最重要的:
- OOP 讓人們即使不熟悉實現也能輕鬆理解軟件。
- 糟糕,將代碼的可讀性、可理解性和可維護性提高了十倍。
- 使用 OOP,即使是非常大的應用程序也可以簡單地構建和控制。
3. OOPS 原則有什麼好處?
- OOPS,編程對像模擬現實世界的對象,降低複雜性並提高程序清晰度。
- 對象可以在許多程序中重複使用。
- 每個對象創建一個不同的實體,其內部操作獨立於其他系統組件。
- 通過引入一些新對象並更新一些現有對象,可以添加新功能或適應不斷變化的操作條件。
- OOPs 程序的過程或數據表示可以很容易地進行小的調整。
4. OOP 概念的支柱是什麼?
以下是 OOP 的主要支柱:
遺產:它使類能夠繼承另一個類的屬性。
封裝:這被定義為隱藏關鍵信息的對象屬性。 這使數據對班級成員隱藏。 說明符描述瞭如何在代碼中訪問對象的屬性。
多態性:這允許您以多種方式執行單個活動。 它是通過接口來實現的,我們在其中聲明一個接口,該接口隨後會實現多次。
抽象化:您可以使用此功能對外界隱藏關鍵信息,僅顯示基本事實。
5. 究竟什麼是類?
類是由處於不同狀態和不同行為的對象組成的原型。 它有許多由該類中的對象共享的方法。
6. 究竟什麼是對象?
對像是作為 OOP 的基本單元的現實世界實體,例如椅子、貓或狗。 各種對象具有各種狀態、屬性和動作。
7. OOP 的限制是什麼?
- 尺寸大於其他應用程序。
- 這需要一些習慣。
- 某些類型的問題不需要它。
- 創建它是勞動密集型的,並且與其他應用程序相比,它的運行速度更慢。
8.什麼是繼承?
稱為繼承的概念是指另一個類共享一個類的已建立結構和行為。 當繼承應用於單個類時,稱為單繼承; 當它依賴於許多類時,稱為多重繼承。
9. 究竟什麼是封裝?
OOP 的思想也包括封裝。 它描述了數據和數據操作技術的混合。 此外,它有助於防止直接訪問對象的某些部分。
10.什麼是多態性?
在 OOP 語言中,多態是一個基本概念。 它顯示了不同的類如何共享一個接口。 這些類都能夠具有獨特的接口實現。
11. 究竟什麼是抽象?
抽像是用於創建現實世界對象結構的面向對象編程 (OOP) 概念。 它只“顯示”最重要的品質,並“隱藏”來自外部世界的無關信息。 抽象的基本目標是保護人們免受不必要的信息。
12. 方法重載到底是什麼?
兩個或多個過程可能具有相同的名稱。 然而,它們應該具有不同的參數、不同數量的參數、不同的種類,或兩者兼而有之。 這些被稱為重載方法,該特性被稱為方法重載。
13. 方法重載到底是什麼?
面向對象編程包括方法覆蓋的思想。 它是一種語言功能,允許子類或子類提供其超類或父類之一已經提供的方法的自定義實現。
14. 究竟什麼是超類?
超類,通常稱為基類,是一種充當另一個或多個類的父類的類。 例如,Car 類有一個名為 Vehicle 的子類。
15. 子類到底是什麼?
子類是另一個類的子類。 例如,貨車是車輛的子類或派生類。
16. 靜態多態究竟是什麼?
在編譯時,會發生一種稱為靜態多態(靜態綁定)的多態。 方法重載是一種編譯時多態性。
17. 動態多態究竟是什麼?
一種在運行時解決的多態稱為運行時多態,也稱為動態多態(動態綁定)。 方法的覆蓋是運行時多態性的一個例證。
18. 描述構造函數的概念。
構造函數是類的特定方法,在創建類實例時會自動調用。 當您訪問該類時,它使用與該類相同的名稱構造並初始化其所有成員。 構造函數的主要特徵如下:
構造函數沒有返回類型。
重載構造函數是可能的。
不需要指定構造函數; .NET Framework 會自動完成。
19. 訪問修飾符到底是什麼?
在面向對象的語言中,關鍵字是訪問修飾符或訪問說明符。 它有助於配置類、方法和其他成員的可訪問性。
20. 究竟什麼是析構函數?
析構函數是一種釋放分配給對象的資源的方法。 當一個對像被銷毀時,這個方法會被自動調用。
21.究竟什麼是混合繼承?
混合繼承是一種由單、多等幾種繼承形式混合而成的繼承。
22. 什麼是層次繼承?
在層次繼承的情況下,多個子類從一個父類繼承。 許多類從單個父類或基類繼承的一種繼承稱為分層繼承。 例如,fruit 類可以包含諸如“apple”、“mango”、“banana”、“cherry”等子類。
23. 繼承有什麼弊端?
它延長了執行過程並使執行過程複雜化。 它還需要在各種類之間切換。 父類和子類總是密不可分的。
對課程的修改將需要對家長和孩子的班級進行修改。 繼承必須小心執行,否則結果會出錯。
24. 究竟什麼是異常?
異常是乾擾代碼正常運行的事件。 要繼續執行,您可以在 Java 中處理這些異常。 在 Java 中,有很多種預定義的異常,並且提供了異常處理來使用 try-catch 塊來控制引發的異常。
25. 異常處理到底是什麼,它有什麼好處?
Java 中處理意外運行時故障的最重要方法是異常處理。 它允許您控製程序執行期間出現的運行時錯誤。
異常處理的好處包括在管理異常的同時保留常規程序流的能力。 例如,如果程序的某個部分發生錯誤,如果我們使用 try-catch 塊處理異常,它將對程序的其餘部分沒有影響。
26. 究竟什麼是虛函數?
虛函數也包含在父類的函數中,並被子類覆蓋。 這些例程有助於實現運行時多態性。
27. 什麼是朋友功能?
友元函數是屬於某個類的函數,可以訪問其公共、私有或受保護的數據。 如果函數是在類之外定義的,則無法檢索此數據。 訪問控制關鍵字 private、public 和 protected 與友元聲明無關,友元聲明可以在類聲明的任何地方進行。
28. 垃圾收集到底是什麼?
垃圾收集 (GC) 是 C# 和 Java 等編程語言的一個元素,用作內存回收系統。 垃圾收集 (GC) 引擎是編程語言的一個組件,它允許為應用程序不再使用的對象自動釋放內存空間。
29. 耦合到底是什麼?
它指的是各種類相互依賴並共享知識的情況。 當一個班級對另一個班級有詳細的了解時,就會產生強烈的聯繫。 您可以使用訪問修飾符指定類、方法或變量的可見性。 接口用於提供較弱的耦合。
30. 究竟什麼是凝聚力?
一個組件完成某項活動的方式稱為它的凝聚力。 一個強大的、有凝聚力的方法將簡單地完成定義的任務,而一個弱的、有凝聚力的方法會將單個任務分成幾個較小的任務,然後完成它們。
Java.io 包是相當連貫的,但 java.util 包不是。
31. 描述一個 try/catch 塊。
當程序由於不正確的代碼或數據而遇到錯誤時,“try”和“catch”指示如何管理它。 try 塊是發生異常時代碼部分的名稱。 catch 塊用於捕獲和處理來自 try 塊的異常。
32. 描述最後一個塊。
最後指出了 try 關鍵字的代碼工作部分。 它指定總是在試驗之後立即運行的代碼以及在方法完成之前的任何 catch 塊。 無論是拋出還是捕獲異常,最後一個塊總是運行。
33. 究竟什麼是接口?
接口是抽象方法和用戶定義的數據類型的組合。 一個類實現了一個接口,繼承了接口的抽象函數。
類表示對象的屬性和行為,而接口包括類實現的行為。 接口代表“什麼”,而類傳達“如何”。
34. 究竟什麼是構圖?
該組合物可用於實現連接。 它展示了依賴對象和獨立對象之間的強大對象鏈接,而不是聚合。 在這種情況下,從屬對像不存在,如果父對像被擦除,則從屬對象將被刪除。
35. 構造函數鏈到底是什麼?
構造函數鏈接是一種從與當前對象引用相關的構造函數中調用另一個構造函數的技術。 有兩種選擇:
- 當前類中的構造函數可以使用“this”關鍵字來引用。
- “super”關鍵字將用於從基類調用構造函數。
結論
面向對象編程需要考慮程序的結構並提前準備。 檢查如何將需求劃分為可用於創建事物實例的基本、可重用類。
總體而言,採用 OOP 可以提高 數據結構 和可重用性,從長遠來看可以節省時間。 看 Hashdork的採訪系列 為面試準備提供幫助。
發表評論