Đa Hình Trong Java - Nắm Vững Khái Niệm đa Hình Java
Có thể bạn quan tâm
Mục lục
- Khái niệm tính đa hình trong Java
- Ví dụ trong đời sống về tính đa hình trong Java
- Các loại đa hình trong Java
- Đa hình tĩnh Static/ Compile - Time trong Java
- Phương thức nạp chồng trong Java
- Đa hình Động Dynamic/ Run - Time trong Java
- Tại sao nên sử dụng Đa hình trong Java
- Ưu điểm của Đa hình trong Java
Khái niệm tính đa hình trong Java
Đa hình - hay còn gọi là Polymorphism, từ Polymorphism có thể được chia thành hai từ - "poly" có nghĩa là "nhiều" và "morph" có nghĩa là "các dạng". Vì vậy, đa hình có nghĩa là nhiều hình thức. Đa hình trong Java (Polymorphism) là một khái niệm mà chúng ta có thể thực hiện một hành động bằng nhiều cách khác nhau. Nói cách khác, đa hình là khái niệm cho phép một đối tượng của một lớp hoạt động khác nhau để phản hồi lại một thông điệp hoặc hành động.
Khái niệm tính đa hình trong Java
Ví dụ trong đời sống về tính đa hình trong Java
Một nhân viên bảo vệ bên ngoài một tổ chức sẽ có cách cư xử khác với những người khác nhau khi họ vào tổ chức. Anh ta có thể có cách ứng xử khác nhau khi Sếp đến so với khi nhân viên đến. Ở đây, ta có thể thấy hành vi của người bảo vệ có nhiều hình thức khác nhau, điều này phụ thuộc vào những thành viên mà anh ta sẽ tiếp đón.
Một ví dụ khác là âm thanh của động vật. Chúng ta có thể có một phương pháp chung âm thanh nhưng với phương pháp này, chúng ta đang sử dụng âm thanh của các loài động vật khác nhau. Âm thanh của phương pháp sẽ hoạt động khác nhau đối với các loài động vật khác nhau.
Ví dụ về đa hình trong Java
Tiếp theo, chúng ta sẽ thảo luận về cách đa hình được triển khai trong Java và các kiểu đa hình cùng với các ví dụ của chúng là gì.
Các loại đa hình trong Java
Có hai kiểu đa hình trong Java
Các loại đa hình trong Java
Đa hình tĩnh Static/ Compile - Time trong Java
Khi trình biên dịch quyết định phân tích đa hình trong quá trình biên dịch, chúng ta có thể gọi tính đa hình này là đa hình trong thời gian biên dịch hoặc đa hình tĩnh. Trong Java chúng ta có thể thực hiện hoặc đạt được tính đa hình trong thời gian biên dịch với sự hỗ trợ của phương thức nạp chồng.
Phương thức nạp chồng trong Java
Khi một lớp có hai hoặc nhiều hơn hai phương thức có cùng tên nhưng khác kiểu thứ tự hoặc số lượng tham số, nó sẽ được gọi là phương thức nạp chồng (Overloading method). Java cho phép một hàm có cùng tên nếu nó có thể phân biệt được chúng bằng số lượng và kiểu đối số. Ví dụ, các hàm dưới đây đều khác nhau trong Java:
- float divide(int a, int b){...}
- float divide( float x, float y){...}
- float divide (float a,int b) {...}
Trong ví dụ trên hàm divide () nhận hai đối số int khác với hàm divide () nhận hai đối số float và cũng từ hàm split() nhận cả hai đối số int và float.
>>> Đọc thêm: JVM máy chủ ảo Java - Tìm hiểu nhanh về JVM và kiến trúc JVM
Đa hình Động Dynamic/ Run - Time trong Java
Đa hình động hay đa hình trong runtime là đa hình giải quyết các hành động tại thời gian chạy chứ không phải thời gian biên dịch được gọi. Hay nói cách khác Đa hình lúc runtime là quá trình gọi phương thức đã được ghi đè trong thời gian thực thi chương trình. Trong quá trình này, một phương thức được ghi đè được gọi thông qua biến tham chiếu của một lớp cha.
Trong lập trình hướng đối tượng, việc ghi đè phương thức xảy ra khi một lớp dẫn xuất cung cấp một định nghĩa cụ thể về phương thức đã có trong lớp cha của nó.
Tại sao nên sử dụng Đa hình trong Java
Với đa hình trong Java, bạn có thể viết một phương thức xử lý chính xác với nhiều loại chức năng khác nhau với cùng tên. Đa hình cũng cho phép đạt được sự nhất quán trong code của bạn.
Ví dụ:
Giả sử bạn cần thực thi phương thức aniamalSound() của cả Dog và Cat. Để làm như vậy, chúng ta có thể tạo một lớp với tên “Animal” và mở rộng hai lớp con là Dog và Cat từ nó. Trong trường hợp này, bạn nên tạo một phương thức có cùng tên là animalSound() trong cả hai lớp con này hơn là tạo phương thức có tên khác.
>>> Tham khảo: Khóa học lập trình Java
Ưu điểm của Đa hình trong Java
- Tính đa hình cho phép một lớp cha xác định các phương thức chung cho tất cả các lớp dẫn xuất của nó trong khi cho phép các lớp con chỉ định việc triển khai bổ sung của một số hoặc tất cả các phương thức đó.
- Ghi đè phương thức được hỗ trợ bởi tính đa hình động, một khía cạnh chính của tính đa hình liên kết động hoặc thời gian chạy.
- Tính đa hình cung cấp khả năng cho một phương pháp thực hiện những việc khác nhau trên cơ sở đối tượng mà nó đang tác động.
Kết luận: Tính đa hình là một trong những tính năng thiết yếu nhất của lập trình hướng đối tượng. Mọi lập trình viên Java nên làm quen với đa hình để trở thành một chuyên gia về Java.
Trong bài viết này, chúng ta đã hiểu được tầm quan trọng của đa hình, khái niệm ví dụ và một số ưu điểm của tính đa hình. Hy vọng bạn thấy bài viết trên có ích trong quá trình làm việc với Java. Tìm hiểu thêm về Java và các ngôn ngữ lập trình khác qua các khóa học lập trình tại t3H.
Từ khóa » Cách Tính đa Hình Trong Java
-
Tính đa Hình Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts
-
Tính đa Hình (polymorphism) Trong Java - Góc Học IT
-
Tính đa Hình (Polymorphism) Trong Java - GP Coder (Lập Trình Java)
-
Tính đa Hình (Polymorphism) Trong Java - Freetuts
-
Java Bài 30: Đa Hình (Polymorphism) - Yellow Code Books
-
[Tự Học Java] Tính đa Hình Trong Java »
-
Tính đa Hình Trong Java - Quá Trình Overriding Một Phương Thức
-
Tính đa Hình Trong OOP - KungFu Tech
-
Đa Hình Trong Java - Hoclaptrinh
-
Tính đa Hình Trong Java | Codelearn
-
Thừa Kế Và đa Hình Trong Java - Openplanning
-
Tính đa Hình Trong Java - Lập Trình Từ Đầu
-
Java: Đa Hình (Polymorphism) | V1Study
-
Đa Hình Tại Runtime Trong Java - Viblo