Đang thực hiện
Tên đăng nhập
Mật khẩu
 
Hoặc đăng nhập bằng:
Nhập lại mật khẩu

Trang chủ Tin tổng hợp
Tin tổng hợp

Đa hình trong Java

Cập nhật: 11/06/2019 Lượt xem: 30
Đa hình trong Java là một khái niệm mà theo đó chúng ta có thể thực hiện một hành động theo nhiều cách khác nhau. Đa hình bắt nguồn từ 2 từ Hy Lạp: poly và morphs. 
Đa hình trong Java là một khái niệm mà theo đó chúng ta có thể thực hiện một hành động theo nhiều cách khác nhau. Đa hình bắt nguồn từ 2 từ Hy Lạp: poly và morphs. Từ "poly" có nghĩa là nhiều và "hình thái" có nghĩa là hình thức. Vì vậy đa hình có nghĩa là nhiều hình thức.

Có hai loại đa hình trong Java: đa hình thời gian biên dịch và đa hình thời gian chạy. Chúng ta có thể thực hiện đa hình trong java bằng cách nạp chồng phương thức và ghi đè phương thức.
 
Học lập trình Java
Polymorphism in Java

 

Nếu bạn quá tải một phương thức tĩnh trong Java thì đó là ví dụ về đa hình thời gian biên dịch. Ở đây chúng tôi sẽ tập trung vào đa hình thời gian chạy trong java.
 

Đa hình thời gian chạy trong Java


Đa hình thời gian chạy hoặc Công thức phương thức động là một quá trình trong đó một lệnh gọi phương thức bị ghi đè được giải quyết trong thời gian chạy thay vì thời gian biên dịch.

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 siêu lớp. Việc xác định phương thức được gọi dựa trên đối tượng được tham chiếu bởi biến tham chiếu.


>> Khóa học lập trình Java được NIIT - ICT Hà Nội kết hợp với doanh nghiệp nhằm đào tạo về mặt CNTT cũng như tìm kiếm nguồn nhân sự mới từ những khóa học này. Nhanh tay đăng ký nào <<



Trước tiên chúng ta hãy hiểu về sự u ám trước thời gian đa hình thời gian chạy.
 

Upcasting

 

Nếu biến tham chiếu của lớp Parent đề cập đến đối tượng của lớp Child thì nó được gọi là upcasting.

Để upcasting chúng ta có thể sử dụng biến tham chiếu của loại lớp hoặc loại giao diện.


biến tham chiếu các loại lớp

Ở đây mối quan hệ của lớp B sẽ là:

mối quan hệ của lớp

Vì Object là lớp gốc của tất cả các lớp trong Java vì vậy chúng ta có thể viết B IS-A Object.

 

Ví dụ về đa hình thời gian chạy Java

 
Trong ví dụ này chúng tôi đang tạo hai lớp Bike và Splendor. Lớp Splendor mở rộng lớp Bike và ghi đè phương thức run () của nó. Chúng ta đang gọi phương thức chạy bằng biến tham chiếu của lớp Parent. 


Vì nó đề cập đến đối tượng lớp con và phương thức lớp con ghi đè phương thức lớp Parent nên phương thức lớp con được gọi trong thời gian chạy.


Do việc gọi phương thức được xác định bởi JVM chứ không phải trình biên dịch nên nó được gọi là đa hình thời gian chạy.


đa hình thời gian chạy

Đầu ra:

đầu ra của đa hình thời gian chạy

 

Ví dụ đa hình thời gian chạy Java Ví dụ: Ngân hàng

 

Hãy xem xét một kịch bản trong đó Ngân hàng là một lớp cung cấp một phương thức để có được tỷ lệ lãi suất. Tuy nhiên, lãi suất có thể khác nhau tùy theo ngân hàng. 

Ví dụ các ngân hàng SBI, ICICI và AXIS đang cung cấp lãi suất 8.4%, 7.3% và 9.7%.


về thời gian chạy ví dụ của các ngân hàng

Đầu ra:

ví dụ về thời gian chạy của các ngân hàng

 

Ví dụ về đa hình thời gian chạy Java: Hình dạng


đa hình thời gian chạy java

Đầu ra:

đầu ra của đa hình java

Ví dụ đa hình thời gian chạy Java Ví dụ: Động vật


đa hình thời gian chạy java

Đầu ra:

đầu ra của chạy đa hình về động vật

Đa hình thời gian chạy Java với thành viên dữ liệu
 

Một phương thức được ghi đè không phải là thành viên dữ liệu do đó đa hình thời gian chạy không thể đạt được bởi các thành viên dữ liệu.

Trong ví dụ được đưa ra dưới đây cả hai lớp đều có tốc độ thành viên dữ liệu. Chúng tôi đang truy cập thành viên dữ liệu bằng biến tham chiếu của lớp Parent tham chiếu đến đối tượng lớp con. 

Vì chúng tôi đang truy cập thành viên dữ liệu không bị ghi đè do đó nó sẽ luôn truy cập vào thành viên dữ liệu của lớp Parent.

 

Tư vấn viên 1: Nguyễn Thu Huyền
Tư vấn viên 2: Thu Huyền
Tuyển sinh lập trình viên quốc tế - MMS new vision
Khóa học C&B Excel - Trần Văn Hải