Polymorphism Trong C++

125 lượt xem Lập Trình C/C++
Polymorphism Trong C++

Polymorphism

Đa hình có nghĩa là “nhiều dạng”, và nó xảy ra khi chương trình có nhiều class có liên quan với nhau theo kế thừa.

Giống như đã 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ụ, một lớp cơ sở có tên là Animal có một phương thức gọi là animalSound (). Các lớp Động vật có nguồn gốc có thể là Lợn, Mèo, Chó, Chim – Và mỗi loại động vật có âm thanh khác nhau(lợn kêu và mèo kêu meo meo, v.v.):

Example

// 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" ;
  }
};

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

Example

// 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;
}

 

Leave a Reply

Your email address will not be published. Required fields are marked *

PHP Code Snippets Powered By : XYZScripts.com
.
.
.
.