Sự khác biệt giữa Kế thừa và Giao diện trong Java

Mục lục:

Sự khác biệt giữa Kế thừa và Giao diện trong Java
Sự khác biệt giữa Kế thừa và Giao diện trong Java

Video: Sự khác biệt giữa Kế thừa và Giao diện trong Java

Video: Sự khác biệt giữa Kế thừa và Giao diện trong Java
Video: Java Cơ Bản - Thread khác nhau giữa kế thừa Thread và Runable - JMaster.io 2024, Tháng mười một
Anonim

Sự khác biệt chính - Kế thừa và Giao diện trong Java

Java là một ngôn ngữ lập trình được phát triển bởi Sun Microsystems. Java có thể được sử dụng để phát triển các ứng dụng khác nhau. Nó là một ngôn ngữ đa mô hình hỗ trợ hướng đối tượng, có cấu trúc, v.v. Ưu điểm chính của Java là nó hỗ trợ lập trình hướng đối tượng (OOP). Người lập trình có thể tạo các lớp và đối tượng. Có bốn trụ cột trong OOP. Chúng là kế thừa, đa hình, trừu tượng và đóng gói. Kế thừa và các giao diện có liên quan đến OOP. Sự khác biệt chính giữa kế thừa và giao diện là kế thừa là để dẫn xuất các lớp mới từ các lớp hiện có và một giao diện là để triển khai các lớp trừu tượng và đa kế thừa.

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

Kế thừa có thể đạt được khả năng tái sử dụng mã. Kế thừa giúp sử dụng lại các thuộc tính và phương thức của một lớp hiện có. Cơ chế dẫn xuất lớp mới bằng cách sử dụng lớp cũ được gọi là kế thừa. Lớp cũ được gọi là lớp cha hoặc lớp siêu. Lớp dẫn xuất được gọi là lớp con hoặc lớp con.

Cú pháp của kế thừa Java như sau.

class subclass_name mở rộng superclass_name {

khai báo biến;

khai báo phương thức;

}

Khái niệm thừa kế có thể được giải thích bằng cách sử dụng ví dụ sau. Giả sử rằng có một lớp được gọi là A như sau.

công hạng A {

public void sum () {

System.out.println (“Tổng”);

}

}

Nếu chúng ta muốn thêm một phương thức mới mà không thay đổi lớp hiện có, chúng ta có thể thực hiện như sau.

công hạng B {

public void sub () {

System.out.println (“Phụ”);

}

}

Lập trình viên có thể sử dụng kế thừa để sử dụng lớp A sum ().

công khai hạng B mở rộng hạng A {

public void sub () {

System.out.println (“Phụ”);

}

}

Trong hàm main, có thể tạo một đối tượng của B và gọi sub (), thuộc về lớp B và sum (), thuộc về lớp A bằng cách sử dụng kế thừa.

public static void main (String args) {

B obj=new B ();

obj.sub ();

obj.sum ();

}

Có nhiều kiểu thừa kế khác nhau. Đó là kế thừa đơn, thừa kế đa thừa kế, kế thừa đa cấp và kế thừa phân cấp. Trong thừa kế đơn, có một lớp cơ sở và một lớp dẫn xuất. Trong kế thừa đa cấp, có ba lớp cụ thể là lớp cơ sở, lớp trung gian và lớp dẫn xuất. Lớp trung gian kế thừa từ lớp cơ sở và lớp dẫn xuất kế thừa từ lớp trung gian. Trong kế thừa phân cấp, có một lớp cơ sở và nhiều lớp dẫn xuất. Có một kiểu đặc biệt được gọi là Thừa kế lai. Nó là sự kết hợp của hai hoặc nhiều kiểu kế thừa.

Sự khác biệt giữa Kế thừa và Giao diện trong Java
Sự khác biệt giữa Kế thừa và Giao diện trong Java

Hình 01: Kế thừa

Trong Đa kế thừa có nhiều lớp cơ sở và một lớp dẫn xuất. Giả sử rằng lớp A và B là các lớp cơ sở. Lớp C là lớp dẫn xuất. Nếu cả hai lớp A và B có cùng một phương thức và lập trình viên gọi phương thức đó từ lớp dẫn xuất, nó sẽ gây ra vấn đề không rõ ràng. Việc kế thừa hai lớp có thể gây ra lỗi thời gian biên dịch. Do đó, đa kế thừa không được hỗ trợ trong Java. Một giao diện có thể được sử dụng để khắc phục vấn đề đó.

Giao diện trong Java là gì?

Abstraction là một quá trình ẩn các chi tiết triển khai và chỉ hiển thị các chức năng cho người dùng. Tính trừu tượng có thể đạt được bằng cách sử dụng các Lớp hoặc Giao diện Trừu tượng. Một phương thức trừu tượng là một phương thức không có phần triển khai. Một lớp có ít nhất một phương thức trừu tượng là một lớp trừu tượng. Ví dụ về một lớp trừu tượng như sau.

lớp trừu tượng A {

trừu tượng void sum ();

}

Giả sử rằng có hai lớp trừu tượng là A và B. Để thực hiện các phương thức trừu tượng của A và B, một lớp C mới được tạo. Sau đó, lớp C nên mở rộng cả A và B., Nhưng đa kế thừa không được hỗ trợ trong Java. Do đó, nên sử dụng các giao diện. Có thể dùng các giao diện để khai báo các phương thức, nhưng không thể định nghĩa các phương thức. Không thể tạo một đối tượng bằng giao diện. Lớp C nên triển khai tất cả các phương thức trong giao diện A và B.

giao diện A {

void sum ();

}

giao diện B {

void sub ();

}

lớp C thực hiện A, B {

public void sum () {

System.out.println (“Tính tổng”);

}

public void sub () {

System.out.println (“Phép trừ”);

}

}

Bây giờ, trong chương trình chính, có thể tạo một đối tượng C và gọi cả hai phương thức.

public static void main (String args) {

C obj=new C ();

obj.sum ();

obj.sub ();

}

Vì vậy, các giao diện có thể sử dụng để triển khai đa kế thừa.

Một công dụng khác của giao diện là nó cung cấp bảo mật. Tham khảo mã bên dưới.

giao diện A {

void sum ();

}

lớp B triển khai A {

public void sum () {

System.out.println (“Tính tổng”);

}

public void nhân () {

System.out.println (“Phép nhân”);

}

}

Khi tạo một đối tượng của B, có thể gọi cả hai phương thức sum () và nhân (). Nếu người lập trình muốn hạn chế sử dụng hàm nhân (), thì có thể như sau.

public static void main (String args) {

A obj=new B ();

obj.sum ();

}

A obj=new B (); sẽ tạo một đối tượng. Nó thuộc loại A và vùng nhớ được cấp phát là B. Có thể gọi sum () nhưng không thể thực hiện nhân (). Hạn chế này được thực hiện bằng cách sử dụng các giao diện.

Điểm giống nhau giữa Kế thừa và Giao diện trong Java là gì?

  • Cả hai khái niệm đều liên quan đến Lập trình hướng đối tượng
  • Cả hai đều đại diện cho mối quan hệ LÀ-A.

Sự khác biệt giữa Kế thừa và Giao diện trong Java là gì?

Kế thừa và Giao diện trong Java

Kế thừa là một khái niệm OOP để dẫn xuất các lớp mới từ các lớp hiện có. Giao diện là một cơ chế trong OOP để triển khai tính trừu tượng và đa kế thừa.
Cách sử dụng
Kế thừa cung cấp khả năng tái sử dụng mã. Giao diện cung cấp tính trừu tượng và đa kế thừa.

Tóm tắt - Kế thừa và Giao diện trong Java

Java là một ngôn ngữ lập trình đa mô hình hỗ trợ lập trình hướng đối tượng. Kế thừa và các giao diện có liên quan đến lập trình hướng đối tượng. Sự khác biệt giữa kế thừa và giao diện là kế thừa là để dẫn xuất các lớp mới từ các lớp hiện có và giao diện là để triển khai các lớp trừu tượng và đa kế thừa.

Tải xuống Phiên bản PDF của Kế thừa và Giao diện trong Java

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 Kế thừa và Giao diện trong Java

Đề xuất: