Sự khác biệt giữa Lớp trừu tượng và Giao diện trong Java (Có bảng)

Sự khác biệt giữa Lớp trừu tượng và Giao diện trong Java (Có bảng)

JAVA là ngôn ngữ lập trình hướng đối tượng sử dụng nhiều tính năng chính khác nhau của lập trình hướng đối tượng. Tính trừu tượng là một trong những tính năng cho phép người dùng che giấu sự phức tạp của việc triển khai và cung cấp các kỹ thuật triển khai đơn giản hơn. Trong Java, nó đạt được bằng cách sử dụng giao diện hoặc lớp trừu tượng.

Lớp trừu tượng và Giao diện có liên quan đến sự trừu tượng nhưng không thể sử dụng thay thế cho nhau; do đó, điều quan trọng cần lưu ý là khi nào nên sử dụng giao diện và khi nào nên sử dụng lớp trừu tượng và chọn tùy chọn phù hợp.

Lớp trừu tượng vs tôigiao diện

Sự khác biệt chính giữa các lớp trừu tượng và giao diện là giao diện chức năng chỉ bao gồm một phương thức trừu tượng ngoài các phương thức tĩnh và mặc định. Tính năng này có thể hạn chế số lượng phương thức trừu tượng được khai báo, trong khi không bao giờ có thể hạn chế số lượng phương thức trừu tượng được khai báo trong các lớp trừu tượng.

Lớp trừu tượng vs Giao diện

Lớp trừu tượng đơn giản là các lớp được khai báo bằng từ khóa trừu tượng. Nó buộc các lớp con triển khai tất cả các phương thức đã khai báo và cho phép chúng ta cho phép viết chữ ký phương thức bằng từ khóa trừu tượng. Giả sử rằng nếu một lớp có một phương thức trừu tượng thì lớp đó cũng phải trừu tượng.

Các giao diện đóng vai trò là bản thiết kế chi tiết cho việc triển khai lớp. Không có phương thức cụ thể nào trong giao diện và tất cả các phương thức đều trừu tượng. Một giao diện không thể được khởi tạo, nhưng mặt khác, các lớp triển khai giao diện có thể được khởi tạo. Các biến thể hiện không bao giờ được sử dụng trong giao diện. Tuy nhiên, các biến cuối cùng tĩnh công khai có thể được sử dụng.

Bảng so sánh giữa Tóm tắt Cthôn nư athứ tôigiao diện

Thông sốLớp trừu tượngGiao thức
Tốc độNHANH CHÓNGChậm
Loại lớpCó thể có cả phương thức trừu tượng công khai và được bảo vệ.Chỉ có thể có các phương thức trừu tượng công khai
Xác định trườngCho phép xác định cả hằng số và trường.Không có trường nào có thể được xác định.
Sử dụngĐể tránh trở nên tự cung tự cấp.Chức năng nâng cao trong tương lai.
Structure Có cả phương thức trừu tượng và cụ thể, tức là phương thức không có mã.Chỉ có các phương thức trừu tượng.
Giới hạn mở rộngTại một thời điểm, nó chỉ mở rộng một lớp hoặc một lớp trừu tượng. Một lớp thông thường (hoặc cụ thể) khác có thể được mở rộng.Bất kỳ số lượng giao diện nào cũng có thể được mở rộng. Tuy nhiên, nó chỉ có thể mở rộng các giao diện.
Triển khai mặc địnhCó thể thực hiện phương thức mặc định.Hoàn toàn không thể triển khai vì nó cung cấp tính trừu tượng.
từ khóa được sử dụnglớp trừu tượng sử dụng từ khóa 'mở rộng'.Giao diện được triển khai bởi từ khóa 'implements.
Nhiều thừa kếCó thể mở rộng các loại khác và triển khai một số giao diện Java.Chỉ một giao diện Java khác có thể được mở rộng bởi giao diện này.
Các loại biếncác biến cuối cùng, không phải cuối cùng, tĩnh và không tĩnh được sử dụng.Có các biến cuối cùng và tĩnh.

Điều gì is Tóm tắt Cthôn nư?

Từ khóa 'trừu tượng' được sử dụng để khai báo một lớp trừu tượng. Ít nhất một phương thức trừu tượng phải có trong các lớp trừu tượng. Nó có thể có nhiều phương pháp cụ thể. Bạn có thể sử dụng các lớp trừu tượng để tạo bản thiết kế cho các lớp cụ thể. Tuy nhiên, phương thức trừu tượng phải được thực hiện bởi lớp kế thừa. Không thể khởi tạo các lớp trừu tượng.

Lợi ích của việc sử dụng các lớp trừu tượng là:

  • Khi cố gắng sử dụng khái niệm kế thừa trong mã, bằng cách đưa ra các phương thức chung của lớp cơ sở mà các lớp con ghi đè.
  • Nếu người ta cần có các phương thức không thức hoặc không tĩnh để điều chỉnh các trạng thái của một đối tượng.
  • Giúp tái sử dụng mã.
  • Đáp ứng các yêu cầu được chỉ định và cung cấp chi tiết triển khai phân đoạn.

Tính trừu tượng trong bất kỳ ngôn ngữ lập trình nào đều đề cập đến việc ẩn các phần tử không cần thiết khỏi người dùng để họ có thể tập trung vào những phần tử quan trọng, từ đó tăng hiệu quả và giảm độ phức tạp.

 Một lớp trừu tượng nắm bắt các đặc điểm chung của các lớp con và có thể chứa hoặc không chứa bất kỳ phương thức trừu tượng nào. Nó không thể được khởi tạo mà chỉ có thể được sử dụng như một lớp cha bởi các lớp con của nó.

Cú pháp:

tên lớp trừu tượng {

    //Các câu lệnh

}

Điều gì is tôigiao diện?

Một trong những khái niệm cơ bản của Java là giao diện. Giao diện Java là thành phần cơ bản của ngôn ngữ lập trình Java và được sử dụng rộng rãi trong JDK cũng như trong các mẫu thiết kế Java. Phần lớn các khung công tác dựa chủ yếu vào giao diện Java. Nó được tạo bằng từ khóa 'giao diện.'

Lợi ích của việc sử dụng giao diện là:

  • Các giao diện được sử dụng để đạt được sự trừu tượng tuyệt đối.
  • Bởi vì theo mặc định, tất cả các thuộc tính giao diện đều là công khai, tĩnh và cuối cùng nên chúng ta không cần thêm công cụ sửa đổi quyền truy cập, nhưng nếu làm vậy, trình biên dịch sẽ không phàn nàn.
  • Được thiết kế để hỗ trợ giải quyết phương pháp động trong thời gian chạy.
  • Nó rất hữu ích khi một vấn đề cần được giải quyết bằng cách sử dụng nhiều kế thừa và bao gồm các hệ thống phân cấp lớp khác nhau.

Nó có thể có cả phương thức và biến, giống như một lớp. Tuy nhiên, các phương thức được khai báo trong một giao diện theo mặc định là trừu tượng.

Cú pháp:

tên giao diện{

// phương thức

}

Sự khác biệt chínhs Giữa lớp trừu tượng aGiao diện thứ trong Java

  1. Sự khác biệt quan trọng nhất giữa lớp trừu tượng và giao diện là do giao diện thiếu các biến thể hiện nên nó không thể có trạng thái mà các phương thức không trừu tượng có thể thay đổi.
  2. Các hàm tạo có thể được chỉ định trong một lớp trừu tượng nhưng không phải trong một giao diện trong Java, một sự khác biệt về ngữ nghĩa khác giữa một giao diện với các phương thức mặc định và một lớp trừu tượng.
  3. Trong trường hợp của lớp Trừu tượng, người ta có thể tận dụng việc triển khai mặc định, trong khi ở giao diện, việc tìm kiếm tất cả những người triển khai và triển khai là một cơn ác mộng.
  4. Trong đó lớp trừu tượng xác định danh tính của một lớp, một giao diện giúp xác định các khả năng ngoại vi.
  5. Các lớp trừu tượng có thể kế thừa một lớp và nhiều giao diện, trong khi các giao diện chỉ có thể kế thừa nhiều giao diện chứ không phải các lớp.
  6. Các hàm tạo và hàm hủy có thể được định nghĩa trong một lớp trừu tượng nhưng không phải trong một giao diện.
  7. Một điểm khác biệt giữa lớp trừu tượng và giao diện là lớp trừu tượng có thể được mở rộng bằng từ khóa 'extends'. Từ khóa 'triển khai' có thể được sử dụng để triển khai lớp giao diện.

Kết luận

Trong Java, điểm khác biệt giữa lớp trừu tượng và giao diện là lớp trừu tượng thực hiện tính trừu tượng, trong khi giao diện thực hiện cả tính trừu tượng và đa kế thừa.

Hai cách tiếp cận để thiết kế một lớp có chứa một số phương thức nhất định, mặc dù không phải tất cả, để lớp thực thi là lớp trừu tượng và giao diện. Hai điều này khác biệt tĩnh tại và đạt được theo những cách riêng biệt. Tuy nhiên, về mặt sử dụng động, chúng giống hệt nhau.

Các lớp trừu tượng tương tự như các giao diện theo một số cách, tức là người dùng không thể khởi tạo. Thứ hai, cả hai đều có thể chứa một tập hợp các phương thức được khai báo và định nghĩa có hoặc không có việc triển khai chúng.

dự án

  1. https://link.springer.com/content/pdf/10.1007/978-1-4302-0140-3_12.pdf
  2. https://ieeexplore.ieee.org/abstract/document/654728/
  3. https://ieeexplore.ieee.org/abstract/document/7503306/
chấm 1
Một yêu cầu?

Tôi đã nỗ lực rất nhiều để viết bài đăng trên blog này nhằm cung cấp giá trị cho bạn. Nó sẽ rất hữu ích cho tôi, nếu bạn cân nhắc chia sẻ nó trên mạng xã hội hoặc với bạn bè/gia đình của bạn. CHIA SẺ LÀ ♥️

Hình đại diện của Nidhi

Giới thiệuNidhi

CHÀO! Tôi là Nidhi.

Tại EHL, tất cả đều là những công thức nấu ăn ngon, dễ làm để giải trí thông thường. Vì vậy, hãy đến và cùng tôi đến bãi biển, thư giãn và thưởng thức đồ ăn.

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc *