描述一系列的几何图形,包括矩形,圆形,三角形

博客要求使用Java设计类来描述矩形、圆形、三角形等几何图形。这些图形具有面积和周长属性,还有draw方法用于输出。需定义类并考虑成员变量访问权限,提供必要方法进行属性访问。

请设计类,描述一系列的几何图形,包括矩形,圆形,三角形。

  1. 这些图形都有面积,周长两种属性

  2. 这些图形,都可以被画出来(输出或打印出来,即都有一个draw方法)

请定义类,来描述以上几何图形,并考虑类中成员变量的访问权限,并提供必要的方法进行属性(成员变量的)访问。

package com.caompany;

import static java.lang.Math.sqrt;

/**
 * @Author:gaoyuan
 * @Description:
 * @DateTime:2021/1/11 19:28
 **/
public class Main {

    public static void main(String[] args) {
        Gectangle gectangle = new Gectangle(20, 18);
        gectangle.Draw();
        System.out.println("面积为:" + gectangle.getArea() + "\t" + "周长为:" + gectangle.getPerimeter());
        Circle circle = new Circle(3.14, 6.18);
        circle.Draw();
        System.out.println("面积为:" + circle.getArea() + "\t" + "周长为:" + circle.getPerimeter());
        Triangle triangle = new Triangle(sqrt(3), 6);
        triangle.Draw();
        System.out.println("面积为:" + triangle.getArea() + "\t" + "周长为:" + triangle.getPerimeter());


    }
}

abstract class Geometry {
    private double area;//面积
    private double perimeter;//周长

    //构造方法
    public Geometry(double area, double perimeter) {
        this.area = area;
        this.perimeter = perimeter;
    }

    public abstract void Draw();//画图形

    public void setArea(double area) {
        this.area = area;
    }

    public void setPerimeter(double perimeter) {
        this.perimeter = perimeter;
    }

    public double getArea() {
        return area;
    }

    public double getPerimeter() {
        return perimeter;
    }
}

//矩形类
class Gectangle extends Geometry {
    public Gectangle(double area, double perimeter) {
        super(area, perimeter);
    }

    @Override

    public void Draw() {
        System.out.println("画出矩形!");
    }

}

//圆形类
class Circle extends Geometry {

    public Circle(double area, double perimeter) {
        super(area, perimeter);
    }

    @Override
    public void Draw() {
        System.out.println("画出圆形!");
    }
}

class Triangle extends Geometry {
    public Triangle(double area, double perimeter) {
        super(area, perimeter);
    }

    @Override
    public void Draw() {
        System.out.println("画出三角形!");
    }
}
C++语言画矩形 "_AFXDLL" "E:\E03教学\2011下半年\图形学\计算机图形学基础教程(Visual C++版)\第五章\案例9-二维基本几何变换算法\Test.rc"" Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8A.tmp" with contents [ /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"Debug/Test.pch" /Yu"stdafx.h" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c "E:\E03教学\2011下半年\图形学\计算机图形学基础教程(Visual C++版)\第五章\案例9-二维基本几何变换算法\MainFrm.cpp" "E:\E03教学\2011下半年\图形学\计算机图形学基础教程(Visual C++版)\第五章\案例9-二维基本几何变换算法\Picdlg.cpp" "E:\E03教学\2011下半年\图形学\计算机图形学基础教程(Visual C++版)\第五章\案例9-二维基本几何变换算法\Test.cpp" "E:\E03教学\2011下半年\图形学\计算机图形学基础教程(Visual C++版)\第五章\案例9-二维基本几何变换算法\TestDoc.cpp" "E:\E03教学\2011下半年\图形学\计算机图形学基础教程(Visual C++版)\第五章\案例9-二维基本几何变换算法\TestView.cpp" ] Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8A.tmp" Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8B.tmp" with contents [ /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"Debug/Test.pch" /Yc"stdafx.h" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c "E:\E03教学\2011下半年\图形学\计算机图形学基础教程(Visual C++版)\第五章\案例9-二维基本几何变换算法\StdAfx.cpp" ] Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8B.tmp" Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8C.tmp" with contents [ /nologo /subsystem:windows /incremental:yes /pdb:"Debug/Test.pdb" /debug /machine:I386 /out:"Debug/Test.exe" /pdbtype:sept ".\Debug\MainFrm.obj" ".\Debug\Picdlg.obj" ".\Debug\StdAfx.obj" ".\Debug\Test.obj" ".\Debug\TestDoc.obj" ".\Debug\TestView.obj" ".\Debug\Test.res" ] Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8C.tmp" <h3>Output Window</h3> Compiling resources... Compiling... StdAfx.cpp Compiling... MainFrm.cpp Picdlg.cpp Test.cpp TestDoc.cpp TestView.cpp Generating Code... Linking...
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值