代码

import org.w3c.dom.ls.LSOutput;/*在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽和高,可以根据宽高来计算矩形的面积和周长。1、编写Java程序。(1)使用继承机制,分别设计实现抽象类 图形类,子类类圆形类、正方形类、长方形类,要求:①抽象类图形类中有属性包括画笔颜色(String类型)、图形是否填充(boolean类型:true表示填充,false表示不填充),有方法获取图形面积、获取图形周长等;②使用构造方法为其属性赋初值;③在每个子类中都重写toString()方法,返回所有属性的信息;④根据文字描述合理设计子类的其他属性和方法。(2)设计实现画板类,要求:①画一个红色、无填充、长和宽分别为10.0与5.0的长方形;②画一个绿色、有填充、半径为3.0的圆形;③画一个黄色、无填充、边长为4.0的正方形;④分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。*/
public class Homework2 {public static void main(String[] args) {//画一个红色、无填充、长和宽分别为10.0与5.0的长方形Shape rectangle = new Rectangle("红色", false, 10, 5);DrawingBoard draw = new DrawingBoard(rectangle);draw.print();System.out.println("--------------------------");//画一个绿色、有填充、半径为3.0的圆形;Shape roundness = new Roundness("绿色", true, 3.0);draw.setShape(roundness);draw.print();System.out.println("-------------------------");//画一个黄色、无填充、边长为4.0的正方形;Shape square = new Square("黄色", false, 4.0);draw.setShape(square);draw.print();}
}//画板类
class DrawingBoard{private Shape shape;public void print(){//输出图形颜色System.out.println("所画图形颜色为:" + this.getShape().getColor());//输出图形是否填充if (this.getShape().isFill()) {System.out.println("有填充");} else {System.out.println("无填充");}//输出图形周长System.out.println("所画图形周长为:" + this.getShape().getCircumference());//输出图形面积System.out.println("所画图形面积为:" + this.getShape().getArea());}//constructorpublic DrawingBoard(Shape shape) {this.shape = shape;}public DrawingBoard() {}//getter and setterpublic Shape getShape() {return shape;}public void setShape(Shape shape) {this.shape = shape;}
}
//图形类
abstract class Shape{//画笔颜色private String color;/** 是否填充*   true:填充*   false:不填充* */private boolean fill;//获取图形周长public abstract double getCircumference();//获取图形面积public abstract double getArea();//constructorpublic Shape() {}public Shape(String color, boolean fill) {this.color = color;this.fill = fill;}//setter and getterpublic String getColor() {return color;}public void setColor(String color) {this.color = color;}public boolean isFill() {return fill;}public void setFill(boolean fill) {this.fill = fill;}
}
//圆形类
class Roundness extends Shape{//半径private double radius;//常量πpublic static final double PI = 3.1415926;//constructorpublic Roundness() {}public Roundness(String color, boolean fill, double radius) {super(color, fill);this.radius = radius;}//getter and setterpublic double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}@Overridepublic double getCircumference() {return 2*PI*this.getRadius();}@Overridepublic double getArea() {return PI*this.getRadius()*this.getRadius();}
}
//长方形类
class Rectangle extends Shape{//长private double length;//宽private double width;//getter and setterpublic double getLength() {return length;}public void setLength(double length) {this.length = length;}public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}//constructorpublic Rectangle(String color, boolean fill, double length, double width) {super(color, fill);this.length = length;this.width = width;}public Rectangle() {}@Overridepublic double getCircumference() {return (this.getLength() + this.getWidth())*2;}@Overridepublic double getArea() {return this.getLength()*this.getWidth();}
}
//正方形类
class Square extends Shape{//边长private double edge;//setter and getterpublic double getEdge() {return edge;}public void setEdge(double edge) {this.edge = edge;}//constructorpublic Square() {}public Square(String color, boolean fill, double edge) {super(color, fill);this.edge = edge;}@Overridepublic double getCircumference() {return 4*this.getEdge();}@Overridepublic double getArea() {return this.getEdge()*this.getEdge();}
}

在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半相关推荐

  1. 在有限多的不大于100的正整数中,找出尽量多个相加起来值介于98~102之间的组合...

    问题描述:<?XML:NAMESPACE PREFIX = O /> 在有限多的不大于100的正整数中,找出尽量多个相加起来值介于98-102之间的组合. 组合的个数限制在2 和3. 比如 ...

  2. 在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的

    1.编写Java程序. (1)使用继承机制,分别设计实现抽象基类图形类,派生类圆形类.正方形类.长方形类,要求: ①抽象图形类中有属性画笔颜色.图形是否填充,有方法获取图形面积.获取图形周长等: ②使 ...

  3. 小白知识之:画图软件中文字横横竖竖的奥秘

    好吧,我承认我是一个不会用ps的人.不管是论文的结构图还是日常工作里的示意图,我都喜欢在网上下一些类似的图片然后用PPT或者画图软件做修改和加工.但是之前发现画图的中的文字,写着写着就躺下了,额--l ...

  4. 用java画菱形_【风马一族_Java】使用java,画出任意大小的菱形

    1 public classrhombic {2 3 public static voidmain(String[] args){4 5 /** 6 * scriber()画菱形的方法,参数 9 是指 ...

  5. java画星星菱形_使用java,画出任意大小的菱形

    标签: 1 public classrhombic {2 3 public static voidmain(String[] args){4 5 /** 6 * scriber()画菱形的方法,参数 ...

  6. 计算机工程制图箭头怎么画,电脑画图软件内如何绘制向左的箭头

    电脑画图软件内如何绘制向左的箭头 腾讯视频/爱奇艺/优酷/外卖 充值4折起 当我们在使用电脑的时候,可以通过电脑自带的绘图软件来进行绘画,那么如何在画图软件内绘制一个向左的箭头呢?接下来就由小编来告诉 ...

  7. C语言密勒码的软件编码,密勒码的编码规则是什么?请画出代码序列11010010的密勒码波形?...

    相关题目与解析 CMI码的编码规则是什么?请画出代码序列11010010的CMI码波形? 数字双相码的编码规则是什么?请画出代码序列11010010的双相码波形? 简述双相码(曼彻斯特码)的编码规则并 ...

  8. 已知二叉树前序遍历是ADCEFGHB,中序遍历是CDFEGHAB,要求画出二叉树的结构或写出后序遍历

    笔试特别喜欢考这种题.先说一下思路. 首先,需要明白前序.中序.后序遍历: ①前序:根→左→右 ②中序:左→根→右 ③后序:左→右→根 仅明白这个是不行的,还需要技巧.对于标题中的问题, 我们很容易根 ...

  9. 学生用计算机如何弄心形,电脑画图软件内如何绘制心形

    电脑画图软件内如何绘制心形 随着科技的发展,电脑已经成为人们日常生活中必不可少的工具,当我们在使用电脑中的画图软件时,如果想要画一颗心形的话,应如何操作呢?接下来就由小编来告诉大家. 具体如下: 1. ...

最新文章

  1. python程序设计报告-20194115 实验二《Python程序设计》实验报告
  2. docker supervisor管理进程
  3. 【百战GAN】如何使用GAN拯救你的低分辨率老照片
  4. ELK+Kafka 企业日志收集平台(二)这是原版
  5. 利用shell脚本添加环境变量
  6. BCVP,想真正为社区做努力的开发者们
  7. Seata多微服务互相调用_全局分布式事物使用案例_Order-Module order微服务的配置搭建_写代码上---微服务升级_SpringCloud Alibaba工作笔记0061
  8. TensorFlow 中 tf.app.flags.FLAGS 的用法介绍
  9. 扭矩大好还是马力大好_汽车马力大好还是小好,马力越大汽车的动力性就越好?...
  10. 小米笔记本pro频繁蓝屏故障解决
  11. oracle 月增长率,oracle同比增长怎么算,同比增长率怎么算?
  12. 陆地生态系统生态学原理
  13. linux基本命令总结
  14. mysql实现添加图片_如何往mysql中添加图片
  15. 【微信小程序】一文读懂,数据请求
  16. 内存耗尽后Redis会发生什么
  17. java eventbus 原理_EventBus的简单使用与原理
  18. 张乐:研发效能的黄金三角及需求与敏捷协作领域的实践
  19. Table storage engine for ‘******‘ doesn‘t have this option 问题
  20. 如何从脚本小子变成黑客大神?【网络安全】

热门文章

  1. myeclipse显示行号
  2. 高性能Javascript HTML集合访问的学习笔记
  3. 32位CPU的机器只能支持4GB的内存吗?
  4. RMAN backup recovery area 命令
  5. 通过ActiveX执行文件
  6. 2个基础操作案例带你入门MySQL
  7. 什么样的数据才有价值?应该怎样收集和处理?终于有人讲明白了
  8. [四川金信石招人]技术总监架构师测试工程师
  9. 前端工作流程自动化——Grunt/Gulp 自动化
  10. Eclipse 反编译插件JadClipse安装