ABSTRACT CLASS VÀ INTERFACE TRONG JAVA

Khái niệm

Trừu tượng trong OOPhường có thể chấp nhận được ẩn đi quá trình triển khai phía bên trong và chỉ hiển thị số đông nhân tài rất cần thiết tới người tiêu dùng.

Bạn đang xem: Abstract class và interface trong java

Ví dụ: quý khách hàng đang sẵn có tiền cùng bạn có nhu cầu tìm một bên thầu xuất bản nhằm xây cho khách hàng 1 căn bên vừa lòng. Có tía nhà thầu A, B, C chúng ta mang đến và gửi cho chính mình phiên bản xây đắp, mức ngân sách, thời hạn dứt, căn nhà các bạn sẽ ra làm sao v.v. Còn việc họ có tác dụng gắng nào nhằm xây được căn nhà cho chính mình thì chúng ta lưỡng lự. 

Trong java, tính trừu tượng được mô tả thông abstract class và interface.

Áp dụng trừu tượng vào thiết kế bọn họ sẽ có được hầu như ưu điểm:

Một abstract method là một method được knhì báo không có thân hàm.Các class bé thừa kế abstract class đề xuất implement abstract method.Abstract class quan trọng khởi tạo thành .Đơn giản hoá đối tượng người tiêu dùng bằng cách đưa ra các nằm trong tính cùng thủ tục nhưng nó bao gồm với triển khai.Tập luyện vào tính cốt lỗi của đối tượng. lấy ví dụ khi bạn coi method của class bất kỳ vào java chúng đều có biểu hiện rõ ràng về phong thái áp dụng, quý giá trả về, tmê mệt số truyền vào etc là chúng ta cũng có thể áp dụng được.

Abstract class với phương pháp sử dụng 

Đôi khi bọn họ yêu cầu một superclass nhằm tư tưởng cấu tạo cho những class không giống vượt kế cùng thực thi theo cách riêng biệt của nó nhưng vẫn tuân hành khuôn chủng loại của supperclass đưa ra. Đôi lúc chúng ta buộc phải một supperclass khái niệm rất nhiều method cần sử dụng chung cho toàn bộ những class con thừa kế nó.

Xem thêm: Giảm Mỡ Dui Nhanh Nhất Webtretho, Giảm Mỡ Đùi Nhanh Nhất Với 3 Cách Đơn Giản

Abstract class vẫn phối kết hợp 2 điểm bên trên mà lại hỗ trợ đến chúng ta những nghệ thuật nhằm vừa có thể tư tưởng khuôn chủng loại, vừa có những method cần sử dụng thông thường cho các class nhỏ.

ví dụ như Chúng ta có superclass Shape, class Circle, Rectangle thừa kế Shape. Chúng ta tất cả abstract method area(). Circle, Rectangle thừa kế từ bỏ Shape thì đề nghị implement method area() riêng cho chính mình. method getColor() sẽ tiến hành Shape khái niệm và cho các class con cần sử dụng bình thường. 

*

// File Shape.javapublic abstract class Shape String color; Shape(String color) this.color = color; abstract double area(); String getColor() return this.color; // File Rectangle.javapublic class Rectangle extends Shape double length; double width; Rectangle(String color,double length,double width) super(color); this.length = length; this.width = width;
Override double area() return length*width; // File Circle.javapublic class Circle extends Shape double radius; Circle(String color,double radius) super(color); this.radius = radius;
Override double area() return Math.PI * Math.pow(radius, 2); // File Main.javapublic class Main public static void main(String[> args) Shape circle = new Circle("red", 12d); Shape rectangle = new Rectangle("blue", 4, 3); System.out.println("Color circle: " + circle.getColor()); System.out.println("Area circle: " + circle.area()); System.out.println("Rectangle circle: " + rectangle.getColor()); System.out.println("Area rectangle: " + rectangle.area()); Output:

màu sắc circle: redArea circle: 452.3893421169302Rectangle circle: blueArea rectangle: 12.0

Note:

area() là abstract method cho nên những class nhỏ cần phải implement lại area(), còn nếu không chúng ta có khả năng sẽ bị lỗi biên dịch.area() nhập vai trò là một khuôn chủng loại cho các class con. Các class con dựa vào khuôn mẫu đó mà thực hiện riêng mang đến nó.getColor() được coi như nhỏng là 1 trong method áp dụng bình thường đến toàn bộ các class con.

Ưu điểm tính trừu tượng