物件導向的特徵主要有以下幾個方面?

2021-10-23 04:35:04 字數 514 閱讀 4355

物件導向的特徵主要有以下幾個方面:

1)抽象:抽象就是忽略乙個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是資料抽象。

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

3)封裝:封裝是把過程和資料報圍起來,對資料的訪問只能通過已定義的介面。物件導向計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的物件,這些物件通過乙個受保護的介面訪問其他物件。

4)多型性:多型性是指允許不同類的物件對同一訊息作出響應。多型性包括引數化多型性和包含多型性。多型性語言具有靈活、抽象、行為共享、**共享的優勢,很好的解決了應用程式函式同名問題。

strcpy和memcpy主要有以下3方面的區別

1 複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列 整型 結構體 類等。2 複製的方法不同。strcpy不需要指定長度,它遇到被複製字元的串結束符 0 才結束,所以容易溢位。memcpy則是根據其第3個引數決定複製的長度。3 用途不同。通常在複製字串時用str...

C 造成LNK2005錯誤主要有以下幾種情況

1 重複定義全域性變數。可能存在兩種情況 a 對於一些初學程式設計的程式設計師,有時候會以為需要使用全域性變數的地方就可以使用定義申明一下。其實這是錯誤的,全域性變數是針對整個工程的。正確的應該是在乙個cpp檔案中定義如下 int g test 那麼在使用的cpp檔案中就應該使用 extern in...

super關鍵字主要有以下兩種用途

super關鍵字主要有以下兩種用途。1 呼叫父類的構造方法 子類可以呼叫由父類宣告的構造方法。但是必須在子類的構造方法中使用super關鍵字來呼叫。其具體的語法格式如下 super 引數列表 如果父類的構造方法中包括引數,則引數列表為必選項,用於指定父類構造方法的入口引數。下面將以5.4.3節介紹的...