Mục Lục
Mục Lục
Hướng Dẫn Cài Đặt Môi Trường Video - Hướng dẫn cài đặt môi trường Video - Hướng dẫn tạo dự án Hello World Video Hướng dẫn phát hành dự án java - Lập trình Java căn bản Java Basic- Tạo dự án đầu tiên & phát hành dự án 01. Hướng dẫn cài đặt môi trường lập trình Java- lập trình Java 02. Hướng dẫn tạo dự án Java đầu tiên - lập trình Java căn bản Khai Báo Biến & Mệnh Đề Điều Kiện & Vòng Lặp In chuỗi Fibonaci Java Basic- In chuỗi ngược String in java Giải phương trình bậc nhất & Phương trình bậc 2 - Java 🌟 Bộ Bài Tập Tổng Hợp Java Core: Biến – Toán Tử – If/Else – Vòng Lặp – Bài Toán Nâng Cao Array Video Hướng dẫn Collections Java | List & ArrayList Java | Vector Java | Map & Hashmap Java | String Java Java Basic - Tìm dãy số nguyên tố trong mảng Video Test - Tìm kiếm chuỗi trong chuỗi OOP - Tích Chất Đóng Gói & Kế Thừa Video OOP - Tích chất bao đóng - Kế thừa trong Java - Lập trình Java căn bản Video OOP - Tính Chất Đa Hình - Tính Chất Trừu Tượng - Lập Trình Java Căn Bản Quản Lí Cán Bộ Video Quản Lí Cán Bộ OOP - Interface Video Java Basic- OOP - Tổng hợp - Quản lý sở thú TEST- Chương trình quản lý rạp chiếu film bằng java Video Hướng dẫn cú pháp Lambda Java | Tạo anonymous class Java | Interface Java & Abstract Java Video Hướng dẫn tìm hiểu Singleton Design Pattern Java | Singleton Object Java | OOP Java cho người mới Examination & Test Exam - Kiểm tra 60 phút lập trình OOP - Quản lý thiết bị máy tính - Lập trình OOP Video Exam - Kiểm tra 60 phút lập trình OOP - Quản lý thiết bị máy tính - Lập trình OOP [Examination] Xây dựng Hệ thống Phân cấp Đối tượng Hình học - Khoá Java Cơ Bản Java Swing Video Hướng dẫn học Java Swing | Ví du quản lý sinh viên Java | Java Swing cho người mới bắt đầu Ôn Tập Tổng Quát Java Basic Java basic- Assignment - Quản lý sách Java Basic - Quản lý ATM - Quản lý tài khoản ngân hàng Video Java Basic - Quản lý ATM - Quản lý tài khoản ngân hàng
Java Basic

[Examination] Xây dựng Hệ thống Phân cấp Đối tượng Hình học - Khoá Java Cơ Bản

1. Mô tả bài toán

Dựa trên sơ đồ lớp (Class Hierarchy) trong Hình 1, lớp GeometricObject đại diện cho các đối tượng hình học chung (như hình tròn, hình chữ nhật). Lớp này bao gồm các thuộc tính cơ bản:

  • color (màu sắc)

  • filled (trạng thái có tô màu hay không)

  • dateCreated (ngày khởi tạo đối tượng)

Các thuộc tính này được đóng gói (encapsulated) với các phương thức getter/setter tương ứng. Hai phương thức getArea()getPerimeter() được thiết kế dưới dạng trừu tượng (abstract) để các lớp con định nghĩa lại.

Hai lớp con là Circle (Hình tròn) và Rectangle (Hình chữ nhật) được kế thừa từ GeometricObject với các thuộc tính và phương thức riêng biệt như mô tả trong sơ đồ.

2. Yêu cầu chi tiết

a. Triển khai các lớp (Implementation)

Hãy lập trình ba lớp: GeometricObject, Circle, và Rectangle theo đúng sơ đồ thiết kế.

  • Lưu ý: Ký hiệu # trong sơ đồ biểu thị quyền truy cập protected.

b. Xây dựng lớp Driver

Viết một lớp có tên là Driver chứa phương thức tĩnh sumArea() để tính tổng diện tích của tất cả các đối tượng hình học có trong một mảng.

  • Cấu trúc phương thức:

    public static double sumArea(GeometricObject[] a)

c. Chương trình chính (Main method)

Trong phương thức main() của lớp Driver, hãy viết một đoạn mã thực hiện các công việc sau:

  1. Khởi tạo một mảng gồm hai đối tượng (một hình tròn và một hình chữ nhật).

  2. Tính toán và hiển thị tổng diện tích của chúng bằng cách gọi phương thức sumArea().

3. Công thức tham khảo (Hint)

Để triển khai các phương thức tính toán, hãy sử dụng các công thức sau:

  1. Diện tích hình tròn: $Area = radius \times radius \times \pi$

  2. Diện tích hình chữ nhật: $Area = width \times height$

  3. Đường kính hình tròn: $Diameter = 2 \times radius$

  4. Chu vi hình tròn: $Perimeter = diameter \times \pi$

  5. Chu vi hình chữ nhật: $Perimeter = 2 \times (width + height)$



Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó

×