C++ 中物件導向程式設計原則:封裝:將資料和方法封裝在一個稱為類別的實體中,以保護資料並促進程式碼重複使用。繼承:允許衍生類別從基底類別繼承資料和方法,促進程式碼重複使用和表示父子關係。多態:允許不同類別中的物件根據其所屬類別表現出不同的行為,實現通用程式碼邏輯。
C++ 類別設計中的物件導向程式設計原則
物件導向程式設計(OOP) 是一組指導原則,用於組織和設計電腦程式。 C++ 語言透過類別的概念很好地支援 OOP。理解 OOP 原則對於設計高效、可維護和可重複使用的 C++ 程式碼至關重要。
三大OOP 原則
C++ 中的實作
##
class Person { private: int age; string name; public: void setAge(int age) { this->age = age; } void setName(string name) { this->name = name; } int getAge() const { return age; } string getName() const { return name; } };
在上面範例中,Person
類別封裝了age
和name
數據,並提供了公共函數來存取和修改這些數據。
繼承:
class Employee : public Person { private: int salary; public: void setSalary(int salary) { this->salary = salary; } int getSalary() const { return salary; } };
Employee
類別從Person
類別繼承了age
和name
數據,並加入了salary
數據。這建立了 Employee
與 Person
之間的父子關係。
多態:
class Shape { public: virtual void draw() = 0; // 纯虚函数 }; class Rectangle : public Shape { public: void draw() override { cout << "Drawing a rectangle" << endl; } }; class Circle : public Shape { public: void draw() override { cout << "Drawing a circle" << endl; } };
Shape
類別是基底類,宣告了一個純虛函數 draw()
。 Rectangle
和 Circle
類別從 Shape
繼承並覆寫 draw()
函數以實作特定的繪圖行為。這允許使用 Shape
變數來呼叫 draw()
方法,並根據物件的實際類型執行正確的繪圖行為。
實戰案例:
考慮一個管理書籍的程式。您可以建立一個 Book
類別來表示書籍的標題、作者和出版日期。然後,您可以建立 FictionBook
和 NonFictionBook
類別來擴展 Book
類,並新增特定於每一類的額外功能。使用 OOP 原則,您可以設計一個靈活且可維護的程式來處理不同類型的書籍。
透過理解和應用 OOP 原則,您可以寫出清晰、可維護且可重複使用的 C++ 程式碼。
以上是C++類別設計中如何實作物件導向程式設計原則?的詳細內容。更多資訊請關注PHP中文網其他相關文章!