Lớp Trừu Tượng Abstract Shape Trong Java | Tìm ở đây

Đề bài: Khai báo lớp Shape là lớp trừu tượng (abstract) như sau:

public abstract class Shape { // Phuong thuc truu tuong tinh dien tich public abstract double area(); // Phuong thuc hien thi thong tin public String toString() { return "Dien tich la: " + area(); } }

Xây dựng lớp Rectangle và lớp Circle kế thừa lớp Shape định nghĩa hình chữ nhật và hình tròn. Yêu cầu kiến thức:

  • Phân tích và xác định đối tượng chương trình từ đối tượng thực tế
  • Xác định các thành phần của các lớp như thuộc tính và phương thức
  • Nắm được các kiến thức về lớp trừu tượng (abstract) và tính chất kế thừa (extends) trong Java

Cấu trúc thư mục: src |——BuildClass    |——Shape.java    |——Rectangle.java    |——Circle.java |——UseClass    |——MainUse.java

Code tham khảo dưới đây được viết trên JDK ver 8.x: File Shape.java:

package BuildClass; public abstract class Shape { // Phuong thuc truu tuong tinh dien tich public abstract double area(); // Phuong thuc hien thi thong tin public String toString() { return "Dien tich la: " + area(); } }

File Rectangle.java:

package BuildClass; public class Rectangle extends Shape { // Thuoc tinh private double chieuDai; private double chieuRong; // Phuong thuc // Ham khoi tao khong doi so public Rectangle() { } // Ham khoi tao co doi so public Rectangle(double chieuDai, double chieuRong) { this.chieuDai = chieuDai; this.chieuRong = chieuRong; } // Ham tinh chu vi hinh chu nhat public double chuVi() { return (this.chieuDai + this.chieuRong) * 2; } // Viet lai ham tinh dien tich @Override public double area() { return this.chieuDai * this.chieuRong; } }

File Circle.java:

package BuildClass; public class Circle extends Shape { // Thuoc tinh private double banKinh; // Phuong thuc // Ham khoi tao khong doi so public Circle() { } // Ham khoi tao co doi so public Circle(double banKinh) { this.banKinh = banKinh; } // Ham tinh chu vi hinh tron public double chuVi() { return 2 * Math.PI * this.banKinh; } // Viet lai ham tinh dien tich @Override public double area() { return Math.PI * this.banKinh * this.banKinh; } }

File MainUse.java:

package UseClass; import BuildClass.Circle; import BuildClass.Rectangle; import BuildClass.Shape; public class MainUse { public static void main(String[] args) { // Tao mang kieu Shape, khoi tao cac doi tuong Rectangle vaf Circle Shape[] arr = {new Rectangle(5, 10), new Circle(4.5)}; // Hien thi thong tin for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } }

Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Ôn tập OOP cơ bản trong Java. Xem tại đây

Từ khóa » Java Lớp Trừu Tượng