繼承和多態性透過以下方式減少 C++ 中的程式碼冗餘:繼承:衍生類別繼承基底類別的成員,避免重複定義共性程式碼。多態性:不同衍生類別物件以相同函數呼叫回應不同行為,無需使用 if-else 語句檢查類型。
C++ 中的繼承和多型性如何減少程式碼冗餘?
簡介
繼承和多態性是 C++ 中強大的工具,可用於重複使用程式碼並減少冗餘。透過繼承,衍生類別可以從基底類別繼承資料成員和方法。多態性允許衍生類別的物件以不同方式回應相同的函數呼叫。
實戰案例:圖庫
考慮一個簡單的圖庫,它包含繪製不同形狀的類別 hierarchy。
class Shape { public: virtual void draw() = 0; // 纯虚函数 }; class Circle : public Shape { public: void draw() override { // 绘制圆形 } }; class Rectangle : public Shape { public: void draw() override { // 绘制矩形 } }; class Triangle : public Shape { public: void draw() override { // 绘制三角形 } };
繼承
透過使用繼承,我們避免了為每個形狀重複 draw
方法。相反,衍生類別只需覆寫 draw
方法並提供其自身形狀的繪製實作即可。
多態性
多態性允許我們以多態的方式使用 Shape
物件。這意味著我們可以建立一個包含不同形狀物件的數組,並且只需呼叫 draw
方法就可以繪製它們。 C++ 會自動呼叫衍生類別的正確 draw
方法。
Shape* shapes[] = {new Circle(), new Rectangle(), new Triangle()}; for (Shape* shape : shapes) { shape->draw(); // 调用正确派生类的 draw 方法 }
減少冗餘
透過使用繼承和多態性,我們顯著減少了程式碼冗餘。
draw
方法。 if-else
語句來決定形狀類型。 優點
結論
C++ 中的繼承和多態性是減少程式碼冗餘並創建靈活且可擴展的程式碼庫的強大工具。
以上是C++ 中繼承和多態性如何減少程式碼冗餘?的詳細內容。更多資訊請關注PHP中文網其他相關文章!