Đa hình là gì?

Trong khoa học máy tính, tính đa hình đề cập đến khả năng của một ngôn ngữ lập trình để giải thích các đối tượng theo các cách khác nhau dựa trên lớp hoặc loại dữ liệu của chúng. Về bản chất, đó là khả năng của một phương thức duy nhất được áp dụng cho các lớp dẫn xuất và đạt được một đầu ra thích hợp.

Ba nhánh của đa hình

  • Tính đa hình ad hoc là khi một chức năng được triển khai khác nhau tùy thuộc vào số lượng hạn chế của các loại được chỉ định và kết hợp các tham số đầu vào. Một ví dụ về đa hình ad hoc là quá tải chức năng.
  • Đa hình tham số là khi mã được viết mà không có bất kỳ đặc điểm kỹ thuật nào về loại, và do đó có thể được sử dụng với bất kỳ số lượng các loại khác nhau được chỉ định sau. Trong lập trình hướng đối tượng, điều này thường được gọi là lập trình chung.
  • Đa hình bao gồm, còn được gọi là phân nhóm, là khi một tên duy nhất có thể chỉ các thể hiện của bất kỳ số lượng các lớp khác nhau miễn là chúng chia sẻ cùng một siêu lớp.

Ví dụ đa hình trong Java

Mã ví dụ

 class OverloadedObject {void nạpedMethod (int a) {System.out.println ("Phương thức này được gọi khi tham số là một số nguyên. a =" + a); } void OverdedMethod (int a, int b) {System.out.println ("Phương thức này được gọi khi có hai tham số và cả hai đều là số nguyên. a =" + a + ", b =" + b); } void OverdedMethod (double a) {System.out.println ("Phương thức này được gọi khi có một tham số và nó là một số có độ chính xác kép. a =" + a); }} class DemonstrateOverloading {public static void main (String args []) {OverloadedObject myObj = new OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedMethod (2, 3); myObj.overloadedMethod (4); }} 

Mã đầu ra ví dụ

 Phương thức này được gọi khi tham số là số nguyên. a = 1 Phương thức này được gọi khi có hai tham số và cả hai đều là số nguyên. a = 2, b = 3 Phương thức này được gọi khi tham số là số chính xác kép. a = 4 

Lưu ý rằng nó tạo ra đầu ra khác nhau dựa trên các tham số đầu vào khác nhau, mặc dù tên lớp và phương thức được gọi giống nhau mỗi lần.

Hướng đối tượng, Đầu ra, Tham số, Vi rút đa hình, Ngôn ngữ lập trình, Thuật ngữ lập trình