Sự khác biệt của Inheritance và Polymorphism trong Java

😉 Như bạn đã biết khi bắt đầu học Javacore, các Sempais Internet chắc chắn sẽ giới thiệu cho bạn 4 thuộc tính của Java phải không?

Vì vậy, tôi sẽ không giải thích mọi thứ trong bài viết này, nhưng nó sẽ minh họa sự khác biệt giữa tính kế thừa và tính đa hình trong JAVA

Lập trình hướng đối tượng (OOP) là một xu hướng phổ biến trong phần mềm mô hình lập trình phát triển. Nó giúp mô hình hóa các cảnh trong thế giới thực bằng cách sử dụng các đối tượng. Java là ngôn ngữ lập trình hỗ trợ OOP. Các lớp là các bản thiết kế giúp tạo các đối tượng. Một lớp có thuộc tính và hành vi. Các thuộc tính được gọi là thuộc tính và các hành vi được gọi là phương thức. Hai trụ cột chính của OOP là Kế thừa và Đa hình

Việc triển khai kế thừa xảy ra ở cấp phương thức Cung cấp khả năng sử dụng lại mã Cho phép gọi các phương thức thích hợp tại thời điểm biên dịch và thời gian chạy

Kế thừa trong Java là gì?

Kế thừa trong Java là một cơ chế cho phép các lớp sử dụng các thuộc tính và hành vi của các lớp hiện có (chúng ta gọi lớp này là lớp cha và lớp mới được kế thừa là lớp con). Ưu điểm chính của nó là nó cung cấp khả năng sử dụng lại mã. Hãy xem một ví dụ về thừa kế đơn:

class A:

kế thừa gói; public class A { public void sum() { int a = 10; integer b = 20; System.out. println(“Sum: ” + (a + b)); } }

Trong Java, theo quy ước đặt tên, bạn nên đặt tên cho gói của mình bằng một chữ cái viết thường và tên lớp viết hoa.

Lớp B:

Kế thừa gói; lớp B mở rộng công cộng { public void sub() { int a = 10; integer b = 20; System.out.println(“Sub:” + (a – b)); } }

lớp Chính:

Kế thừa gói; lớp công khai Chính { public static void main(String[] args) { B objB = new B(); objB.sum() ;objB.sub(); } }

Kết quả:

Tổng: 30 Phụ: -10

Lớp A có phương thức sum() cộng hai giá trị. Lớp B mở rộng từ Lớp A và nó có phương thức sub() để trừ hai giá trị. Lớp Main có một phương thức main(), là phương thức chính để chạy chương trình. ‘objB’ là một đối tượng của lớp B. Vì lớp B kế thừa từ lớp A nên đối tượng có thể sử dụng các thuộc tính và phương thức của lớp A. Do đó, ‘objB’ có thể gọi các phương thức sum() và sub() cùng một lúc. Bạn phải hiểu rõ hơn về Tính kế thừa tại đây

Tính đa hình trong Java là gì?

Tên tiếng Anh của đa hình là Polymorphism

  • Poly – Nhiều
  • morphism – hình thức.

Đa hình có nghĩa là “nhiều dạng”.

Tính đa hình trong Java cho phép một đối tượng thể hiện các hành vi khác nhau ở các giai đoạn khác nhau trong vòng đời của nó. Có hai loại chính, quá tải và ghi đè. Hai khái niệm này dễ hiểu dễ quên, phỏng vấn dễ gặp trục trặc nên mình khuyên các bạn nên node lại

Quá tải

Quá tải cho phép các phương thức nằm trong cùng một lớp hoặc có một lớp con cùng tên nhưng khác tham số. Nó còn được gọi là “liên kết tĩnh” và “đa hình thời gian biên dịch”. Ví dụ cho dễ hiểu:

quá tải gói; quá tải lớp public { public int sum() { int a = 10; integer b = 20; return a + b; } public int sum(int a, int b) { return a + b; } public static void main(String[] args) { Quá tải objO = new Overloading(); System.out.println(objO.sum()); System.out.println(objO.sum( 10, 30 )); } }

Kết quả của quá tải:

30 40

Quá tải lớp có hai phương thức có cùng tên, sum. Phương thức tính tổng đầu tiên không có tham số, tức là chúng ta không cần truyền tham số khi gọi hàm này. Phương thức sum thứ hai có hai tham số, nghĩa là khi gọi hàm phải truyền vào hai tham số.

Ghi đè

Ghi đè cũng cho phép cấp quyền triển khai cho các phương thức hiện có. trong lớp cha của nó. Nó được gọi là “liên kết muộn”, “liên kết động” và “đa hình thời gian chạy”. Một ví dụ như sau: Class Vehicle:

ghi đè gói; public class Vehicle { public void display() { System.out.println(“Đây là xe”); } }

Class Car:

p> ghi đè gói; lớp công khai Xe kéo dài Xe { public void display() { System.out.println(“Đây là xe hơi”); } }

Lớp chính:

ghi đè gói; lớp chính { public static void main(String[] args) { Car objCar = new Car(); objCar.display(); } }

Kết quả của việc viết lại:

Đây là một chiếc xe hơi

Lớp Xe có một phương thức hiển thị(). Lớp Car mở rộng từ lớp Vehicle, lớp này cũng có phương thức display() riêng. Xe là lớp cha và Xe là lớp con. ‘objCar’ là đối tượng được tạo từ Car. Khi chúng ta gọi display(), chúng ta có thể thấy việc triển khai phương thức display() trong lớp Car. Mặc dù lớp cha có một lớp display() nhưng nó bị ghi đè bởi lớp con display() , vì vậy đó là kết quả cuối cùng.

Sự khác biệt giữa tính kế thừa và tính đa hình trong Java

Định nghĩa

Kế thừa là một cơ chế cho phép các lớp mới sử dụng các thuộc tính và phương thức của các lớp cha, trong khi tính đa hình là khả năng của một đối tượng hành xử theo nhiều cách. Vì vậy, đây là sự khác biệt chính giữa Kế thừa và Đa hình trong Java.

Triển khai

Ngoài ra, việc triển khai tính kế thừa diễn ra ở cấp độ lớp, trong khi việc triển khai tính đa hình diễn ra ở cấp độ phương thức.

Triển khai

Ngoài ra, việc triển khai tính kế thừa diễn ra ở cấp độ lớp, trong khi việc triển khai tính đa hình diễn ra ở cấp độ phương thức.

p>

Cách sử dụng

Hơn nữa, trong khi tính kế thừa cung cấp khả năng sử dụng lại mã, tính đa hình cho phép gọi các phương thức tại thời điểm biên dịch và thời gian chạy dưới dạng các công thức thích hợp. Vì vậy, đây là một sự khác biệt khác giữa Kế thừa và Đa hình trong Java.

Kết luận

Kế thừa và đa hình là những khái niệm có liên quan với nhau vì tính đa hình động áp dụng cho các lớp cũng thực hiện khái niệm kế thừa.

Sử dụng Tính kế thừa trong Java để bao trùm phương thức (ghi đè phương thức) trong Đa hình, để có thể thu được tính đa hình khi chạy.

Tài liệu tham khảo

  • Internet: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Proxy.html

.

Related Posts

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…