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

Mục lục:

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

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

Video: Sự khác biệt giữa tính đa hình và tính kế thừa trong OOP
Video: PV - Thế nào là tính đa hình và biểu hiện? 2024, Tháng mười một
Anonim

Sự khác biệt chính - Đa hình so với Kế thừa trong OOP

Lập trình hướng đối tượng (OOP) thường được sử dụng để phát triển phần mềm. Nhiều ngôn ngữ lập trình hỗ trợ lập trình hướng đối tượng. Lập trình hướng đối tượng là một phương pháp luận để thiết kế một chương trình sử dụng các lớp và đối tượng. Một lớp trong OOP là một bản thiết kế để tạo một đối tượng. Một lớp có các thuộc tính và phương thức. Một đối tượng là một thể hiện của một lớp. OOP chứa bốn trụ cột như Kế thừa, Đa hình, Trừu tượng và Đóng gói. Bài viết này thảo luận về sự khác biệt giữa Đa hình và Thừa kế trong OOP. Sự khác biệt cơ bản giữa Đa hình và Kế thừa trong OOP là Đa hình là khả năng của một đối tượng hoạt động theo nhiều cách và Kế thừa là tạo ra một lớp mới bằng cách sử dụng các thuộc tính và phương thức của một lớp hiện có.

Đa hình trong OOP là gì?

Đa hình là để chỉ nhiều dạng. Một đối tượng có thể có nhiều hành vi. Đa hình có thể được chia thành hai loại. Chúng đang quá tải và quá tải.

Quá tải

Tham khảo chương trình dưới đây được viết bằng Java.

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

Hình 01: Quá tải

Theo chương trình trên, một đối tượng kiểu A được tạo. Khi gọi obj.sum (); nó sẽ đưa ra kết quả liên quan đến phương thức sum (). Khi gọi obj.sum (2, 3); nó sẽ đưa ra kết quả liên quan đến sum (int a, int b). Có thể quan sát rằng cùng một đối tượng nhưng tùy trường hợp mà có những hành vi khác nhau. Khi có nhiều phương thức có cùng tên, nhưng có các tham số khác nhau, nó được gọi là quá tải. Nó còn được gọi là liên kết tĩnh hoặc đa hình thời gian biên dịch.

Ghi đè

Một loại Đa hình khác đang ghi đè. Tham khảo chương trình dưới đây được viết bằng Java.

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

Hình 02: Ghi đè

Theo chương trình trên, có một phương thức display () trong lớp A. Lớp B mở rộng từ lớp A. Do đó, tất cả các phương thức trong lớp A đều có thể truy cập được bởi lớp B. Nó là kế thừa. Khái niệm kế thừa được mô tả kỹ hơn ở phần sau.

Lớp B cũng có phương thức hiển thị tương tự (). Khi tạo một đối tượng kiểu A và gọi phương thức hiển thị, đầu ra sẽ cho B. Phương thức hiển thị lớp A bị ghi đè bởi phương thức hiển thị lớp B. Vì vậy, đầu ra là B.

Khi có các phương thức có cùng tên và cùng tham số nhưng ở hai lớp khác nhau và chúng được liên kết với sự kế thừa thì được gọi là ghi đè. Nó còn được gọi là Liên kết muộn, Liên kết động, Đa hình thời gian chạy. Quá tải và ghi đè được gọi là Đa hình. Đây là một khái niệm chính trong Lập trình Hướng đối tượng.

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

Tham khảo chương trình dưới đây được viết bằng Java.

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

Hình 03: Ví dụ về Thừa kế

Theo chương trình trên, lớp A có phương thức sum () và lớp B có phương thức con ().

Phương thức sum () của lớp A có thể được sử dụng trong lớp B bằng cách sử dụng từ khóa mở rộng. Việc sử dụng lại các thuộc tính và phương thức trong một lớp hiện có để tạo một lớp mới được gọi là Kế thừa. Thậm chí không có phương thức sum () trong lớp B; nó được kế thừa từ lớp A. Kế thừa hữu ích cho khả năng tái sử dụng mã. Lớp cũ hơn được gọi là lớp cơ sở, lớp cha hoặc lớp cha. Lớp dẫn xuất được gọi là lớp con hoặc lớp con.

Các loại Thừa kế

Có nhiều kiểu thừa kế khác nhau. Đó là Thừa kế đơn cấp, Thừa kế đa cấp, Thừa kế nhiều cấp, Thừa kế theo thứ bậc và Thừa kế lai.

Thừa kế duy nhất

Trong Thừa kế đơn, có một lớp siêu cấp và một lớp phụ. Nếu lớp A là lớp siêu và lớp B là lớp con thì tất cả các thuộc tính và phương thức của lớp A đều có thể được truy cập bởi lớp B. Chỉ có một mức duy nhất; do đó, nó được gọi là kế thừa cấp một.

Thừa Kế Đa Cấp

Trong Thừa Kế Đa Cấp có ba cấp độ của các lớp. Lớp trung gian kế thừa từ siêu lớp. Lớp con kế thừa từ lớp trung gian. Nếu có ba lớp là A, B và C và A là siêu lớp và B là lớp trung gian. Khi đó B kế thừa từ A và C kế thừa từ B, đó là Thừa kế đa cấp.

Thừa kế nhiều

Trong Đa thừa kế, có nhiều siêu lớp và một lớp con. Nếu có ba siêu lớp được gọi là A, B, C và D là lớp con, thì lớp D có thể kế thừa từ A, B và C. Đa kế thừa được hỗ trợ trong ngôn ngữ lập trình C ++. Nó không được hỗ trợ trong các ngôn ngữ lập trình như Java hoặc C. Các giao diện được sử dụng để triển khai Nhiều Kế thừa trong các ngôn ngữ này.

Kế thừa thứ bậc

Nếu có các lớp được gọi là A là siêu lớp và B, C là các lớp con, thì các lớp con đó có thể kế thừa các thuộc tính và phương thức của lớp A. Kiểu kế thừa đó được gọi là Thừa kế phân cấp.

Thừa kế lai

Có một kiểu thừa kế đặc biệt khác được gọi là Thừa kế lai. Nó là sự kết hợp của đa cấp và nhiều kế thừa. Nếu A, B, C và D là các lớp và B kế thừa từ A và D kế thừa từ cả B và C, thì đó là thừa kế Kết hợp.

Điểm giống nhau giữa tính đa hình và tính kế thừa trong OOP là gì?

Cả hai đều là khái niệm của Lập trình hướng đối tượng

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

Đa hình so với Kế thừa trong OOP

Tính đa hình là khả năng một đối tượng hoạt động theo nhiều cách. Kế thừa là tạo một lớp mới bằng cách sử dụng các thuộc tính và phương thức của một lớp hiện có.
Cách sử dụng
Đa hình được sử dụng để các đối tượng gọi dạng phương thức nào tại thời điểm biên dịch và thời gian chạy. Kế thừa được sử dụng để tái sử dụng mã.
Thực hiện
Tính đa hình được thực hiện trong các phương pháp. Kế thừa được thực hiện trong các lớp.
Danh mục
Đa hình có thể được chia thành quá tải và ghi đè. Thừa kế có thể được chia thành đơn cấp, đa cấp, phân cấp, kết hợp và đa kế thừa.

Tóm tắt - Đa hình vs Thừa kế trong OOP

Đa hình và Kế thừa là những khái niệm chính trong Lập trình Hướng đối tượng. Sự khác biệt giữa Đa hình và Thừa kế trong OOP là Đa hình là một giao diện chung cho nhiều dạng và Kế thừa là tạo một lớp mới bằng cách sử dụng các thuộc tính và phương thức của một lớp hiện có. Cả hai khái niệm đều được sử dụng rộng rãi trong Phát triển Phần mềm.

Tải xuống PDF Đa hình và Thừa kế trong OOP

Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây Sự khác biệt giữa Đa hình và Thừa kế trong OOP

Đề xuất: