20200404_面向對象的基本特徵
清明節,願媽媽在天堂一切安好。
一、相關術語
- 面向對象
傳統解決問題的方式,是面向過程的,比如計算1+1=2,輸入1和1,得出結果2。但是這種解決問題的方法有侷限性,就是它不能描述行爲,例如大雁南飛,公司的內部結構組成等等。
於是就有了面向對象的思想,這種思想主張一切事物要以對象來思考問題,首先將一件事情抽象成對象,然後考慮這個對象具備的屬性和行爲。
二、筆試題
1、一道關於聯合的題目的輸出。
union
{
int i;
char x[2];
}a;
void main()
{
a.x[0]=10;
a.x[1]=1;
printf("%d", a.i);
}
答:266。低位低地址,高位高地址,內存佔用情況爲0x010A。
2、關於“關聯”、“聚合”、“組合”之間的區別。
答:(一)關聯是表示兩個類的一般性聯繫,例如“學生”和“老師”。
(二)聚合表示has-a的關係,相對鬆散。
(三)組合表示contains-a的關係,關聯性強於聚合。
3、描述面向對象的基本特徵。
答:(一)封裝,將客觀事物抽象成類,每個類對自身的數據和方法實行保護(public,protect,private)。
(二)繼承:廣義的繼承有三種實現形式:實現繼承、可視繼承、接口繼承。
實現繼承是指使用基類的屬性和方法,無需額外編碼。
可視繼承是指子窗體使用父窗體的外觀和實現代碼。
接口繼承是指僅使用屬性和方法,實現滯後到子類去實現。
(三)多態:允許將子類類型的指針賦值給父類類型的指針。
知識擴展
面向對象與面向過程的區別。
本文歸類
建議歸類到【C++】。
明日計劃
1、重載和重寫的區別。
2、多態的作用。
3、ado與ado.net的相同與不同。
參考文獻:
《C++筆試面試寶典2011版.docx》
《Java從入門到精通》(第4版) 7.1 面向對象概述。
深入剖析多態
今日收藏:
無。