Hướng dẫn C ++

C ++ TRANG CHỦ Giới thiệu C ++ C ++ Bắt đầu Cú pháp C ++ Đầu ra C ++ Nhận xét C ++ Biến C ++ Đầu vào của người dùng C ++ Các kiểu dữ liệu C ++ Toán tử C ++ Chuỗi C ++ Toán C ++ C ++ Boolean Điều kiện C ++ Chuyển đổi C ++ Vòng lặp trong khi C ++ C ++ cho vòng lặp C ++ Ngắt / Tiếp tục Mảng C ++ Tài liệu tham khảo C ++ Con trỏ C ++

Các hàm trong C ++

Các hàm trong C ++ Tham số hàm trong C ++ Nạp chồng hàm trong C ++

Các lớp C ++

C ++ OOP Các lớp / đối tượng C ++ Phương thức lớp C ++ Trình tạo C ++ Bộ chỉ định quyền truy cập C ++ Đóng gói C ++ Kế thừa C ++ Tính đa hình của C ++ Tệp C ++ Ngoại lệ C ++

C ++ Làm thế nào để

Thêm hai số

Ví dụ về C ++

Ví dụ về C ++ Trình biên dịch C ++ Bài tập C ++ C ++ Quiz


Tính đa hình của C ++


Tính đa hình

Đa hình có nghĩa là "nhiều dạng", và nó xảy ra khi chúng ta có nhiều lớp có liên quan với nhau theo kế thừa.

Giống như chúng tôi đã nêu trong chương trước; Kế thừa cho phép chúng ta kế thừa các thuộc tính và phương thức từ một lớp khác. Tính đa hình sử dụng các phương pháp đó để thực hiện các nhiệm vụ khác nhau. Điều này cho phép chúng tôi thực hiện một hành động theo những cách khác nhau.

Ví dụ, hãy nghĩ về một lớp cơ sở được gọi Animalcó một phương thức được gọi animalSound(). Các lớp Động vật có nguồn gốc có thể là Lợn, Mèo, Chó, Chim - Và chúng cũng có cách triển khai âm thanh động vật của riêng mình (lợn kêu và mèo kêu, v.v.):

Thí dụ

// Base class
class Animal {
  public:
    void animalSound() {
    cout << "The animal makes a sound \n" ;
  }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
    cout << "The pig says: wee wee \n" ;
  }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
    cout << "The dog says: bow wow \n" ;
  }
};

Hãy nhớ từ chương Kế thừa rằng chúng ta sử dụng :ký hiệu để kế thừa từ một lớp.

Bây giờ chúng ta có thể tạo Pig Dogcác đối tượng và ghi đè animalSound()phương thức:

Thí dụ

// Base class
class Animal {
  public:
    void animalSound() {
    cout << "The animal makes a sound \n" ;
  }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
    cout << "The pig says: wee wee \n" ;
   }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
    cout << "The dog says: bow wow \n" ;
  }
};

int main() {
  Animal myAnimal;
  Pig myPig;
  Dog myDog;

  myAnimal.animalSound();
  myPig.animalSound();
  myDog.animalSound();
  return 0;
}

Tại sao Và Khi nào Sử dụng "Kế thừa" và "Đa hình"?

- Nó hữu ích cho khả năng tái sử dụng mã: sử dụng lại các thuộc tính và phương thức của một lớp hiện có khi bạn tạo một lớp mới.