Bài đăng nổi bật


Interface là gì?

Interface là một kế hoạch chi tiết có thể được sử dụng để thực hiện một lớp. Interface không chứa bất kỳ phương thức cụ thể nào (các phương thức có mã). Tất cả các phương thức của một giao diện là các phương thức trừu tượng.
Một interface không thể được khởi tạo. Tuy nhiên, các lớp thực hiện interface có thể được khởi tạo. Các interface không bao giờ chứa các instance variables, nhưng chúng có thể chứa các biến public static final variables (i.e., constant class variables)

Abstract Class là gì?

Một lớp có từ khóa trừu tượng trong khai báo của nó được gọi là lớp trừu tượng. Các lớp trừu tượng nên có ít nhất một phương thức trừu tượng, tức là phương pháp không có phần thân. Nó có thể có nhiều phương pháp cụ thể.
Các lớp trừu tượng cho phép bạn tạo bản thiết kế cho các lớp cụ thể. Nhưng lớp kế thừa nên thực hiện phương thức trừu tượng.
Các lớp trừu tượng không thể được khởi tạo.
Lý do quan trọng để sử dụng interface
  • Interface được sử dụng để thực thi trừu tượng hop
  • Được thiết kế để hỗ trợ thay đổi phương thức động trong thời gian chạy
  • Nó giúp bạn đạt được khớp nối lỏng lẻo.
  • Cho phép bạn tách định nghĩa của một phương thức khỏi hệ thống phân cấp thừa kế
Lý do quan trọng để sử dụng lớp trừu tượng
  • Các lớp trừu tượng cung cấp chức năng mặc định cho các lớp con.
  • Cung cấp một mẫu cho các lớp cụ thể trong tương lai
  • Giúp bạn xác định một giao diện chung cho các lớp con của nó
  • Lớp trừu tượng cho phép tái sử dụng mã.

Interface Vs. Lớp trừu tượng

Một lớp trừu tượng cho phép bạn tạo chức năng mà các lớp con có thể thực hiện hoặc ghi đè trong khi interface chỉ cho phép bạn nêu chức năng chứ không thực hiện chức năng đó. Một lớp chỉ có thể mở rộng một lớp trừu tượng trong khi một lớp có thể thực hiện nhiều interface.
Thông sốInterfaceLớp trừu tượng
Tốc độChậmNhanh
Nhiều kế thừaThực hiện một số giao diệnChỉ có một lớp trừu tượng
Kết cấuPhương pháp trừu tượngPhương pháp trừu tượng và cụ thể
Khi nào sử dụngNâng cao trong tương laiĐể tránh độc lập
Kế thừa / Thực hiệnMột lớp có thể thực hiện nhiều giao diệnLớp chỉ có thể kế thừa một Lớp trừu tượng
Thực hiện mặc địnhTrong khi thêm các công cụ mới vào giao diện, thật là một cơn ác mộng khi tìm thấy tất cả những người triển khai và thực hiện các công cụ mới được xác định.Trong trường hợp của Lớp trừu tượng, bạn có thể tận dụng việc triển khai mặc định.
Sửa đổi truy cậpGiao diện không có sửa đổi truy cập. Tất cả mọi thứ được xác định bên trong giao diện được giả định là công cụ sửa đổi.Lớp trừu tượng có thể có một sửa đổi truy cập.
Khi nào sử dụngTốt hơn là sử dụng giao diện khi các triển khai khác nhau chỉ chia sẻ chữ ký phương thức. Phân cấp đa hình của các loại giá trị.Nó nên được sử dụng khi các triển khai khác nhau cùng loại có chung một hành vi.
Các trường dữ liệugiao diện không thể chứa các trường dữ liệu.lớp có thể có các trường dữ liệu.
Nhiều kế thừa mặc địnhMột lớp có thể thực hiện nhiều giao diện.Một lớp chỉ kế thừa một lớp trừu tượng.
Thực hiệnMột giao diện là trừu tượng để nó không thể cung cấp bất kỳ mã nào.Một lớp trừu tượng có thể cung cấp mã hoàn chỉnh, mặc định cần được ghi đè.
Sử dụng công cụ sửa đổi AccessBạn không thể sử dụng công cụ sửa đổi truy cập cho phương thức, thuộc tính, v.v.Bạn có thể sử dụng một lớp trừu tượng có chứa các sửa đổi truy cập.
Sử dụngCác giao diện giúp xác định các khả năng ngoại vi của một lớp.Một lớp trừu tượng định nghĩa danh tính của một lớp.
Các trường được xác địnhKhông có trường nào có thể được định nghĩaMột lớp trừu tượng cho phép bạn xác định cả hai trường và hằng
Di sảnMột giao diện có thể kế thừa nhiều giao diện nhưng không thể kế thừa một lớp.Một lớp trừu tượng có thể kế thừa một lớp và nhiều giao diện.
Xây dựng hoặc phá hủyMột giao diện không thể khai báo các hàm tạo hoặc hàm hủy.Một lớp trừu tượng có thể khai báo các hàm tạo và hàm hủy.
Giới hạn của tiện ích mở rộngNó có thể mở rộng bất kỳ số lượng giao diện.Nó có thể mở rộng chỉ một lớp hoặc một lớp trừu tượng tại một thời điểm.
Từ khóa trừu tượngTrong một từ khóa giao diện trừu tượng, là tùy chọn để khai báo một phương thức là một trừu tượng.Trong một lớp trừu tượng, từ khóa trừu tượng là bắt buộc để khai báo một phương thức là một trừu tượng.
Loại lớpMột giao diện có thể chỉ có các phương thức trừu tượng công khai.Một lớp trừu tượng có các phương thức trừu tượng được bảo vệ và công khai.

Khai báo Giao diện và Lớp trừu tượng trong Java

Sau đây là ví dụ để tạo giao diện và lớp trừu tượng trong Java
Cú pháp khai báo interface
interface name{
//methods
}
Ví dụ về interface trong Java
interface Pet {
    public void test();
}
class Dog implements Pet {
    public void test() {
        System.out.println("Interface Method Implemented");
    }
    public static void main(String args[]) {
        Pet p = new Dog();
        p.test();
    }
}
Cú pháp khai báo abstract class
abstract class name{
    // code
}
Ví dụ về abstract class
abstract class Shape {
    int b = 20;
    abstract public void calculateArea();
}

public class Rectangle extends Shape {
    public static void main(String args[]) {
        Rectangle obj = new Rectangle();
        obj.b = 200;
        obj.calculateArea();
    }
    public void calculateArea() {
        System.out.println("Area is " + (obj.b * obj.b));
    }
}

Post a Comment

أحدث أقدم