物件導向技術的基本概念:物件導向是指按人們認識客觀世界的系統思維方式,採用基於物件(實體)的概念建立模型,模擬客觀世界分析,設計,實現軟體的辦法,包括類,物件,訊息以及類的特性(抽象,繼承,封裝,過載,多型)。
class和struct的區別:
初始化列表和賦值的區別:
當類中含有const,或引用成員變數和基類的建構函式時都需要初始化列表。
c++類成員變數的初始化:
在類的定義中進行的,只有const 且 static 且 integral 的變數。
在類的建構函式初始化列表中, 包括const物件和reference物件。
在類的定義之外初始化的,包括static變數。因為它是屬於類的唯一變數。
普通的變數可以在建構函式的內部,通過賦值方式進行。當然這樣效率不高。
explicit 關鍵字:, c++中的explicit關鍵字只能用於修飾只有乙個引數的類建構函式, 它的作用是表明該建構函式是顯示的, 而非隱式的, 跟它相對應的另乙個關鍵字是implicit, 意思是隱藏的,類建構函式預設情況下即宣告為implicit(隱式).
函式過載:用來描述同名函式具有相同或者相似的功能,但資料型別或者是引數不同的函式管理操作。
過載與覆蓋的區別:
過載(overlode):是讓同名的方法根據不同的資料型別可以處理和返回不同型別的資料.
覆蓋(override):子類改寫父類。
成員函式被過載的特徵有:
1) 相同的範圍(在同乙個類中);
2) 函式名字相同;
3) 引數不同;
4) virtual關鍵字可有可無。
覆蓋的特徵有:
1) 不同的範圍(分別位於派生類與基類);
2) 函式名字相同;
3) 引數相同;
4) 基類函式必須有virtual關鍵字。
過載是一種語法規則,由編譯器在編譯階段完成,不屬於物件導向的程式設計;而覆蓋是由執行階段決定,是物件導向的重要特徵。
參考:《c和c++程式設計師面試秘籍》
C語言的物件導向技術
引言 面向過程的c有效率高,緊湊的特點,在微控制器嵌入式領域是c的主要陣地,while 1 中斷是其主要的開發模式,但是當系統複雜到一定程度,想要新增乙個功能需要改動很多地方,耦合性太強 跟別人交流程式時對方根本理解不了,後台的while 1 中有的關鍵部分很容易被中斷打斷,我們只能不斷的通過很多的...
物件導向技術基礎
什麼是物件?物件導向技術是一種以物件為基礎,以事件或訊息來驅動物件執行處理的程式設計技術。物件導向技術強調在軟體開發過程中面向客觀世界或問題域中的事物,採用人類在認識客觀世界的過程中普遍運用的思維方法,直觀 自然地描述客觀世界中的有關事物。物件範圍很廣泛,物理實體,概念實體,軟體實體都可稱為物件,例...
物件導向技術OMT
物件導向 objectoriented,oo 是軟體開發方法 物件導向是一種對現實世界理解和抽象的方法,是計算機程式設計技術發展到一定階段後的產物 物件導向聽過好多遍了,聽著特別的熟悉,但是真正的理解起來感覺還不是理解的很透徹,下面是我對這三類的理解,有歧義的請多多指教 標識,屬性,操作。比如小汽車...