Thực Thi Lớp Trừu Tượng Theo Sơ đồ Lớp Cho Trước - Code Lean

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

Kill Port 8080

21:33 Trang chủJavaAdvanced Thực thi lớp trừu tượng theo sơ đồ lớp cho trước 12:16 0 Nhận xét

Phần 1: Hãy xây dựng lớp theo sơ đồ lớp dưới đây.

Trong đó: Lớp Shape là lớp trừu tượng gồm
  • 2 thuộc tính là color và filled.
  • Các phương thức khởi tạo không tham số và có tham số
  • Phương thức trừu tượng: getArea() – tính diện tích một hình bất kỳ, getPerimeter() – tính chu vi một hình bất kỳ.
  • Phương thức toString() được ghi đè từ lớp Object
Lớp Cirle và Rectangle là các lớp được kế thừa từ lớp Shape cần cài đặt các phương thức trừu tượng. Lớp Square là lớp được kế từ từ lớp Rectangle

Phần 2: Viết lớp Test chứa hàm main() để thực hiện các tác vụ như sau:

Shape s1 = new Circle(5.5, "RED", false);// Upcast Circle to Shape System.out.println(s1);// which version? System.out.println(s1.getArea());// which version? System.out.println(s1.getPerimeter());// which version? System.out.println(s1.getColor()); System.out.println(s1.isFilled()); System.out.println(s1.getRadius()); Circle c1 = (Circle)s1;// Downcast back to Circle System.out.println(c1); System.out.println(c1.getArea()); System.out.println(c1.getPerimeter()); System.out.println(c1.getColor()); System.out.println(c1.isFilled()); System.out.println(c1.getRadius()); Shape s2 = new Shape(); Shape s3 = new Rectangle(1.0, 2.0, "RED", false);// Upcast System.out.println(s3); System.out.println(s3.getArea()); System.out.println(s3.getPerimeter()); System.out.println(s3.getColor()); System.out.println(s3.getLength()); Rectangle r1 = (Rectangle)s3;// downcast System.out.println(r1); System.out.println(r1.getArea()); System.out.println(r1.getColor()); System.out.println(r1.getLength()); Shape s4 = new Square(6.6);// Upcast System.out.println(s4); System.out.println(s4.getArea()); System.out.println(s4.getColor()); System.out.println(s4.getSide()); // Take note that we downcast Shape s4 to Rectangle, //which is a superclass of Square, instead of Square Rectangle r2 = (Rectangle)s4; System.out.println(r2); System.out.println(r2.getArea()); System.out.println(r2.getColor()); System.out.println(r2.getSide()); System.out.println(r2.getLength()); // Downcast Rectangle r2 to Square Square sq1 = (Square)r2; System.out.println(sq1); System.out.println(sq1.getArea()); System.out.println(sq1.getColor()); System.out.println(sq1.getSide()); System.out.println(sq1.getLength()); CodeLean.vn Facebook: CodeLean Community Tags JavaAdvanced

You might like

Hiện thêm

Post a Comment

Đăng nhận xét

Mới hơn Cũ hơn

Follow Us

Chủ Đề Tôi Quan Tâm ;)

  • .Net
  • .net core
  • Agile
  • AI
  • AngularJS
  • Anroid
  • AP
  • Azure
  • BDW
  • Bootstrap
  • c
  • C#
  • Cấu Trúc Dữ Liệu và Giải Thuật
  • CodeLean
  • CSDL
  • CSS
  • Database
  • Design Pattern
  • DesignThinking
  • DevOps
  • Docker
  • Git
  • github
  • HTML
  • Index
  • ISA
  • Java
  • Java1
  • Java2
  • JavaAdvanced
  • JavaCore
  • JavaScript
  • JSP & Servlet
  • Laravel Framework
  • Laravel9
  • Lập trình C
  • LINQ
  • MLJ
  • MySQL
  • NodeJS
  • OOAD
  • PHP
  • Programming
  • Python
  • QA
  • React Native
  • Spring Boot
  • Spring Framework
  • SQL
  • Teaching
  • Test
  • Thiết Kế Website
  • Tools
  • TypeScript
  • Web Development
  • WebAPI

Most Popular

Chuẩn hoá dữ liệu là gì? 1NF, 2NF, 3NF & BCNF với các ví dụ

11:57

[MySQL 05] Mô hình ER là gì và ví dụ

12:08

Tìm Phủ Tối thiểu của một Hàm

12:29

Xác định khóa, Tìm phủ tối thiểu, Chuẩn hóa dữ liệu

16:36

Big O: Cách tính độ phức tạp của thời gian và không gian

16:37

Bắt đầu học Node.js với Visual Studio Code

10:07

[Web API] Hướng dẫn từ cơ bản tới nâng cao Web API ASP.NET

19:21

[MySQL 02] Hướng dẫn sử dụng MySQL Workbench

11:32

Hướng dẫn sửa cấu hình để chạy Dự Án Laravel từ Source Code có sẵn

14:59

[JSP & Servlet] Tạo Web Application JSP Servlet Sử dụng JSTL với Tomcat 10 trên IntelliJ

21:27

Biểu mẫu liên hệ

Từ khóa » Sơ đồ Trừu Tượng