Java Tut 29: Java Polymorphism ( Đa hình )

0
(0)

Java Polymorphism

Polymorphism 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 cha được gọi Animalcó một phương thức được gọi là animalSound(). Các lớp con của Động vật 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ụ

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}

class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
  }
}

class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}

Hãy nhớ từ chương Kế thừa rằng chúng ta sử dụng extendstừ khóa để kế thừa từ một lớp.

Bây giờ chúng ta có thể tạo Pigvà Dogcác đối tượng và gọi animalSound()phương thức trên cả hai:

Thí dụ

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}

class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
  }
}

class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}

class Main {
  public static void main(String[] args) {
    Animal myAnimal = new Animal();  // Create a Animal object
    Animal myPig = new Pig();  // Create a Pig object
    Animal myDog = new Dog();  // Create a Dog object
    myAnimal.animalSound();
    myPig.animalSound();
    myDog.animalSound();
  }
}

Hãy tự mình thử »

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.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Related posts

Java Tut 49: Phương thức toán học Java ( Java Math)

Java Tut 48: String Methods

Java Tut 47: Từ khóa Java