面試中被問到關於物件導向的理解

2021-08-29 20:57:24 字數 505 閱讀 4225

物件導向有三大特性:封裝、繼承和多型。

封裝就是將類事物的屬性和行為抽象成乙個類,使其屬性私有化,行為公開化,提供了資料的隱秘性的同時,使**模組化。這樣做使得**的復用性更高。

繼承則是進一步將類事物共有的屬性抽象成乙個父類,而每乙個子類是乙個特殊的父類--有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴充套件了已存在的**塊,進一步提高**的復用性。

如果說封裝和繼承是為了使**重用,那麼多型則是為了實現介面重用。多型的一大作用就是為了解耦--為了解除父子類繼承的耦合度。簡單的說,多型就是允許父類引用(或介面)指向子類(或實現類)物件。

實際採用多型的時候包含四種情況:

1、父類有部分public的方法是不需要,也不需要子類覆重。

2、父類有一些特別的方法是必須要子類區重寫的,在父類的方法其實是乙個空方法。

3、父類有一些方法是可選覆重的,一旦覆重,則以子類為準。

4、父類有一些方法即便被覆重,父類原方法還是要執行的。

面試中被問到的概率題

問題描述 100人坐飛機,第乙個乘客在座位中隨便選乙個坐下,第100人正確坐到自己坐位的概率是?他們分別拿到了從1號到100號的座位,這些乘客會按號碼順序登機並應當對號入座,如果他們發現對應號座位被別人坐了,就會在剩下空的座位隨便挑乙個坐 現在假設1號乘客瘋了 其他人沒瘋 他會在100個座位中隨便選...

c 面試中被問到的靜態繫結和動態繫結

c 在物件導向程式設計中,存在著靜態繫結和動態繫結的定義,本節即是主要講述這兩點區分。我是在乙個類的繼承體系中分析的,因此下面所說的物件一般就是指乙個類的例項。首先我們需要明確幾個名詞定義 靜態型別 物件在宣告時採用的型別,在編譯期既已確定 動態型別 通常是指乙個指標或引用目前所指物件的型別,是在執...

關於物件導向多型的理解

子類物件位址可以賦值給父類指標,可以通過父類指標呼叫與子類函式名和參數列相同的虛函式,在程式執行時,當父類指標指向父類物件的位址時則呼叫父類的虛函式,當父類的指標指向子類物件的位址時呼叫子類的虛函式,讓同一條函式語句呼叫達成不同的結果。比如學校發通知元旦班級要有人去表演,同學a可以代表我們班去表演,...