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

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

编写java程序。

(1)使用继承机制,分别设计实现抽象类 图形类,子类类圆形类、正方形类、长方形类,要求:
①抽象类图形类中有属性包括画笔颜色(String类型)、图形是否填充(boolean类型:true表示填充,false表示不填充),
有方法获取图形面积、获取图形周长等;
②使用构造方法为其属性赋初值;
③在每个子类中都重写toString()方法,返回所有属性的信息;
④根据文字描述合理设计子类的其他属性和方法。
(2)设计实现画板类,要求:
①画一个红色、无填充、长和宽分别为10.0与5.0的长方形;
②画一个绿色、有填充、半径为3.0的圆形;
③画一个黄色、无填充、边长为4.0的正方形;
④分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。

//抽象类 图形类
public abstract class Graphical {

        private String colour;
        private boolean fill;

        public abstract double perimeter();
        public abstract double area();
        public abstract String toString() ;


        public Graphical() {

        }
        public Graphical(String colour, boolean fill) {
            this.colour = colour;
            this.fill = fill;
        }

        public String getColour() {
            return colour;
        }

        public void setColour(String colour) {
            this.colour = colour;
        }

        public boolean isFill() {
            return fill;
        }

        public void setFill(boolean fill) {
            this.fill = fill;
        }


}
//正方形类
public class Square extends Graphical{
    private double side;

    public Square(String colour, boolean fill, double side) {
        super(colour, fill);
        this.side = side;
    }

    public double getSide() {
        return side;
    }

    public void setSide(double side) {
        this.side = side;
    }

    public double perimeter() {
        return 2*side;
    }


    public double area() {
        return side*side;
    }


    public String toString() {
      return   "正方形的颜色为:"+getColour()+"\t有无填充:"+isFill()+"边长为:"+getSide()+"周长为:"+perimeter()+"面积为:"+area();
    }
}
//长方形类
public class Rectangle extends Graphical{
    private double length;
    private double width;

    public Rectangle(String colour, boolean fill, double length,double width) {
        super(colour, fill);
        this.length = length;
        this.width=  width;
    }

    public 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;
    }

    public double perimeter() {
        return (length+width)*2;
    }


    public double area() {

        return length*width;
    }

    @Override
    public String toString() {
        return "长方形的颜色为:"+getColour()+"\t有无填充:"+isFill()+"长为:"+getLength()+"宽为:"+getWidth()+"周长为:"+perimeter()+"面积为:"+area();
    }
}
//子类 圆形类
public class Circular extends Graphical {
    private double R;

    public Circular(String colour, boolean fill, double r) {
        super(colour, fill);
        R = r;
    }

    public double getR() {
        return R;
    }

    public void setR(double r) {
        R = r;
    }

    public double perimeter() {
        return R*2*3.14;
    }


    public double area() {
        return R*R*3.14;
    }



    public String toString() {
        return "圆的颜色为:" +getColour() +"\t"+"有无填充:" +isFill()+ "半径为:"+getR()+"的圆形面积为:"+area()+"周长为:"+perimeter() ;
    }
}
//测试类
public class Text {
    public static void main(String[] args) {
        Circular circular=new Circular("绿色",true,3.0);
        System.out.println(circular.toString());
        
        Rectangle rectangle=new Rectangle("红色",false,10.0,5.0);
        System.out.println(rectangle.toString());
        
        Square square=new Square("黄色",false,4.0);
        System.out.println(square.toString());
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/144948.html

(0)

相关推荐

  • Python 进阶 – Python类的内置属性

    导读:本篇文章讲解 Python 进阶 – Python类的内置属性,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月1日
    00
  • JPA 之 QueryDSL-JPA 使用指南

    在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

    导读:本篇文章讲解 JPA 之 QueryDSL-JPA 使用指南,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年3月7日
    00
  • JavaScript——3:第一个应用程序

    导读:本篇文章讲解 JavaScript——3:第一个应用程序,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月11日
    00
  • 哈希表——set(查重)

    追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

    导读:本篇文章讲解 哈希表——set(查重),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年4月9日
    00
  • Gateway+Nacos+Sleuth+Zipkin网关链路追踪(测试及源码),Gateway+Nacos+Sleuth链路追踪(二)

    导读:本篇文章讲解 Gateway+Nacos+Sleuth+Zipkin网关链路追踪(测试及源码),Gateway+Nacos+Sleuth链路追踪(二),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月17日
    00
  • 数据结构之折半查找法——C语言实现

    导读:本篇文章讲解 数据结构之折半查找法——C语言实现,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    2023年2月7日
    00
  • 关于 RESTFUL API 安全认证方式的一些总结

    没有人挡得住,你疯狂的努力进取。你可以不够强大,但你不能没有梦想。如果你没有梦想,你只能为别人的梦想打工筑路。

    导读:本篇文章讲解 关于 RESTFUL API 安全认证方式的一些总结,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年4月11日
    00
  • 【AcWing】单调栈

    追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

    导读:本篇文章讲解 【AcWing】单调栈,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年4月9日
    00
  • Java技术专区-虚拟机系列-JVM中可生成的最大Thread数量

    导读:本篇文章讲解 Java技术专区-虚拟机系列-JVM中可生成的最大Thread数量,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年1月6日
    00
  • spring手动创建的对象的自动装配问题

    导读:本篇文章讲解 spring手动创建的对象的自动装配问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月2日
    00

发表回复

登录后才能评论