× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Tìm hiểu thông tin về tính đa hình trong Java

03/08/2022 09:08

Tính đa hình trong Java về cơ bản là khả năng một đối tượng có nhiều dạng hay nói một cách đơn giản có thể hiểu là một thực thể có nhiều dạng.

Tính đa hình trong Java về cơ bản là khả năng một đối tượng có nhiều dạng hay nói một cách đơn giản có thể hiểu là một thực thể có nhiều dạng. Cách sử dụng rộng rãi nhất của tính đa hình là trong OOP như khi một tham chiếu lớp cha được sử dụng để tham chiếu đến một đối tượng lớp con. Trong ngôn ngữ Java, bất kỳ đối tượng Java nào có thể vượt qua nhiều hơn một bài kiểm tra IS-A thường được coi là đa hình. Trong ngôn ngữ Java, vì quá trình này bao gồm thực tế là bất kỳ đối tượng nào cũng sẽ phải vượt qua bài kiểm tra IS-A cho kiểu riêng của chúng và cho lớp Object do đó, điều này làm cho tất cả các đối tượng Java trở nên đa hình.

Một thực tế đã biết và được coi là quan trọng rằng cách duy nhất có thể mà từ đó các lập trình viên có thể truy cập một đối tượng là chỉ thông qua một biến tham chiếu. Trong Java, một biến tham chiếu chỉ có thể có một kiểu và cần lưu ý rằng kiểu của biến tham chiếu không thể thay đổi khi nó đã được khai báo. Biến tham chiếu trong chương trình có thể được gán lại dễ dàng cho các đối tượng khác với điều kiện là nó không được khai báo cuối cùng. Kiểu của biến tham chiếu rất quan trọng trong Java vì đây là kiểu sẽ xác định các phương thức liệu nó có thể gọi trên đối tượng hay không. Một biến tham chiếu trong ngôn ngữ Java có thể tham chiếu đến bất kỳ đối tượng nào thuộc kiểu được khai báo của nó hoặc bất kỳ kiểu con nào của đối tượng thuộc kiểu được khai báo của nó. Trong ngôn ngữ Java, một biến tham chiếu thường có thể được khai báo dưới dạng một lớp hoặc kiểu giao diện.

Dưới đây là một ví dụ về tính đa hình sẽ mô tả định nghĩa chính xác của nó với việc giải thích khía cạnh vật lý của nó:

public interface Vegetarian{}
public class Animal{}
public class Rabbit extends Animal implements Vegetarian{}

Bây giờ, trong ví dụ được đề cập ở trên, lớp Rabbit thường được coi là đa hình vì thực tế là lớp này có nhiều thừa kế. Dưới đây là giá trị thực cho ví dụ được đề cập ở trên:

  • Một con thỏ là một con vật
  • A Rabbit IS-A Vegetarian
  • A Rabbit IS-A Rabbit
  • Một con thỏ IS-A Object

Các kiểu đa hình trong ngôn ngữ Java

Nhìn chung, có hai kiểu đa hình trong ngôn ngữ Java được mô tả dưới đây:

  • Quá tải phương thức
  • Ghi đè phương pháp

1. Quá tải phương thức

Nạp chồng phương thức là điều kiện trong đó một lớp bao gồm nhiều phương thức có cùng tên chính xác nhưng có các tham số khác nhau. Điều này bằng cách nào đó có lợi trong trường hợp người lập trình chỉ phải thực hiện một thao tác có cùng tên chính xác của các phương thức thì nó sẽ tự động tăng khả năng đọc của chương trình.

Ví dụ về Nạp chồng phương thức

Dưới đây là một ví dụ về phương pháp nạp chồng trong ngôn ngữ Java nơi hai phương thức đã được tạo và hoạt động đầu tiên bao gồm phương thức add () thực hiện phép cộng hai số và sau đó phương thức thêm thứ hai thực hiện phép cộng cả ba số:

class Adder 
{ 
  
static int add (int a, int b) 
  { 
    return a + b; 
  } 
   
static int add (int a, int b, int c) 
  { 
    return a + b + c; 
  } 

} 


class TestOverloading1 
{ 
  
public static void main (String [] args) 
  { 
    
System.out.println (Adder.add (11, 11)); 
    
System.out.println (Adder.add (11, 11, 11)); 

} 
    
}
Đầu ra:
22
33