So sánh interface và abstract trong java

Sự khác nhau giữa Abstract class và Interface

Abstract class và interface đều được sử dụng để có được sự trừu tượng mà ở đó chúng ta có thể khai báo các phương thức trừu tượng. Nhưng có một vài sự khác nhau giữa abstract class và interface được liệt kê trong bảng sau:

Abstract classInterface
1] Abstract class có phương thức abstract [không có thân hàm] và phương thức non-abstract [có thân hàm].Interface chỉ có phương thức abstract. Từ java 8, nó có thêm các phương thức default và static.
2] Abstract class không hỗ trợ đa kế thừa.Interface có hỗ trợ đa kế thừa
3] Abstract class có các biến final, non-final, static and non-static.Interface chỉ có các biến static và final.
4] Abstract class có thể cung cấp nội dung cài đặt cho phương thức của interface.Interface không thể cung cấp nội dung cài đặt cho phương thức của abstract class.
5] Từ khóa abstract được sử dụng để khai báo abstract class.Từ khóa interface được sử dụng để khai báo interface.
6] Ví dụ:
public abstract class Shape {
public abstract void draw[];
}
Ví dụ:
public interface Drawable {
void draw[];
}

Đơn giản để hiểu, đó là abstract class có được trừu tượng 1 phần [0 tới 100%], còn interface có được trừu tường toàn phần [100%].


Khác biệt giữa abstract class và interface trong java

  • Report

This post hasn't been updated for 5 years

So sánh Interface và Abstract trong lập trình hướng đối tượng.

  • Report

Abstract class và Interface

Lớp [Class] trong lập trình hướng đối tượng là một khuôn mẫu hoặc một bản thiết kế, mô hình mô phỏng các đối tượng.

  • Các khóa học lập trình game mobile trực tuyến
  • Những kiến thức cơ bản về lập trình web cần nắm vững
  • 10 kênh Youtube học tiếng Anh sẽ giúp bạn bứt phá trong năm 2022
  • 6 ngành nghề hot năm 2022, cơ hội phát triển trong 5-10 năm tới
  • Lập trình máy tính là gì? Khóa học lập trình máy tính cho người mới bắt đầu

Đối tượng là các thể hiện của lớp, một đối tượng là một sự tượng trưng cho một thực thể, hoặc là thực thể tồn tại trong thế giới đời thực hoặc thực thể mang tính khái niệm. Một đối tượng có thể tượng trưng cho cái gì đó cụ thể.

Ví dụ: một chiếc Mercedes Benz là một đối tượng thuộc lớp Car, một chiếc IphoneX là đối tượng thuộc lớp Mobile,…

Các ngôn ngữ hướng đối tượng như Java, C#,… hỗ trợ khái niệm kế thừa. Kế thừa có nghĩa là một đối tượng có thể được thừa kế các hành vi và phương thức của lớp. Bất cứ khi nào bạn tạo đối tượng mới của một lớp, bạn nói rằng bạn đang khởi tạo nó.

Video liên quan

Bài Viết Liên Quan

Chủ Đề