C++物件導向概念


C++程式設計的主要目的是將物件導向的概念引入到C程式設計語言中。物件導向程式設計是一個範例,提供許多概念,如繼承,資料系結,多型等。

一切都表示為物件的程式設計範例被稱為真正的物件導向的程式設計語言。 Smalltalk是第一個真正的物件導向的程式設計語言。

OOP(物件導向程式設計系統)

物件意味著真實世界的實體,如筆,椅子,表等。物件導向程式設計是一種使用類和物件來設計程式的方法或範例。 它通過提供一些簡化了軟體開發和維護的概念:

  • 物件
  • 繼承
  • 多型
  • 抽象
  • 封裝

物件

任何具有狀態和行為的實體都稱為物件。 例如:椅子,鋼筆,桌子,鍵盤,自行車等。它可以是物理和邏輯的。

物件的集合稱為類。 它是一個邏輯實體。

繼承

當一個物件獲取父物件的所有屬性和行為,稱為繼承。 它提供程式碼可重用性。 它用於實現執行時多型性。

多型

當一個任務通過不同的方式執行時,即被稱為多型性。 例如:以不同的方式說服客戶,畫一些圖形的東西:畫形狀或矩形等
在C++中,我們使用函式過載和函式重寫來實現多型。

抽象

隱藏內部細節和顯示功能被稱為抽象。 例如:電話,我們並不知道打電話時電話機內部如何處理。
在C++中,使用抽象類和介面來實現抽象。

封裝

將程式碼和資料系結(或包裝)在一起成為單個單元稱為封裝。 例如:膠囊,它包裹著不同的藥物。

OOP相對於程序導向的程式設計語言的優點

  • OOP(物件導向)使開發和維護變得更容易,因為在程序導向的程式設計語言中,如果程式碼隨著專案規模的增長而增長,就不容易管理。

  • OOP(物件導向)提供資料隱藏,而在程序導向的程式設計語言中,可以從任何地方存取全域性資料。

  • OOP(物件導向)提供更有效地模擬真實世界事件的能力。 如果我們使用物件導向的程式設計語言,就可以提供真實世界裡的問題的解決方案。