注册 登录
重磅消息:开通VIP会员,获取平台所有项目,永久使用,详细请咨询QQ:3376762016
远程服务部署安装,售后服务,请加QQ1:3376762016,QQ2:3597230140(即将满员),QQ3:1399491757(已满)
查看: 525|回复: 0
打印 上一主题 下一主题

设计一个几何图形抽象类 设计一个平面图形抽象类和一个立体图形抽象类

[复制链接]

该用户从未签到

3518

主题

3532

帖子

66万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
668954
QQ
跳转到指定楼层
楼主
发表于 2020-4-20 11:42:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


public class Test {
        public static void main(String[] args) {
                Ball ball=new Ball(5);
                ball.print();
                System.out.println("面积:"+ball.graphicA());
                System.out.println("体积:"+ball.graphicV());
               
                Cylinder c=new Cylinder(3,5);
                c.print();
                System.out.println("面积:"+c.graphicA());
                System.out.println("体积:"+c.graphicV());
               
                Cone cone=new Cone(7,8);
                cone.print();
                System.out.println("面积:"+c.graphicA());
                System.out.println("体积:"+c.graphicV());
               
                Rectangle  r=new Rectangle(3,5);
                r.print();
                System.out.println("表面积:"+r.graphicA());
                System.out.println("周长:"+r.graphicL());
               
                Triangle  t=new Triangle(3,4,5);
                t.print();
                System.out.println("表面积:"+t.graphicA());
                System.out.println("周长:"+t.graphicL());
               
                Circle  circle=new Circle(3);
                circle.print();
                System.out.println("表面积:"+circle.graphicA());
                System.out.println("周长:"+circle.graphicL());
               
               
        }
}
abstract class GeometricGraph {

         public abstract void print();
}
abstract class ThreeDimensionalGraphics extends GeometricGraph{
       
        public abstract double graphicA();
        public abstract double graphicV();
}
//球类
class Ball extends ThreeDimensionalGraphics{
       
        private double side01;
       
        public Ball(double side01) {
                this.side01 = side01;
        }
        public void setSide01(double side01){
                this.side01=side01;
        }
        public double getSide01(){
                return this.side01;
        }
        public double graphicA(){
                return 4*3.14*side01*side01;
        }
        public double graphicV(){
                double v=3.14*3/4*side01*side01*side01;
                return v;
        }
        public void print(){
                System.out.println("这是一个球类计算方式:");
        }
}
//这是一个圆柱体
class Cylinder extends ThreeDimensionalGraphics{
        private double side01;
        private double side02;
       
        public Cylinder(double side01, double side02) {
               
                this.side01 = side01;
                this.side02 = side02;
        }
        public void setSide01(double side01){
                this.side01=side01;
        }
        public void setSide02(double side02){
                this.side02=side02;
        }
        public double getSide01(){
                return this.side01;
        }
        public double getSide02(){
                return this.side02;
        }
        public double graphicA(){
                return 2*3.14*side01*side01+2*3.14*side01*side02;
        }
        public double graphicV(){
                return 3.14*side01*side01*side02;
        }
       
        public void print() {
                System.out.println("这是一个圆柱体计算方式:");
               
        }
}
//圆锥类
class Cone extends ThreeDimensionalGraphics{
        private double side01;
        private double side02;
       
        public Cone(double side01, double side02) {
       
                this.side01 = side01;
                this.side02 = side02;
        }
        public void setSide01(double side01){
                this.side01=side01;
        }
        public void setSide02(double side02){
                this.side02=side02;
        }
        public double getSide01(){
                return this.side01;
        }
        public double getSide02(){
                return this.side02;
        }
        public double graphicA(){
                return 3.14*side01*side01+3.14*side01*java.lang.Math.sqrt(side02*side02+side01*side01);
        }
        public double graphicV(){
                return 3.14/3*side01*side01*side02;
        }
        @Override
        public void print() {
               
                System.out.println("这是一个圆锥体计算方式:");
        }
}


abstract class PlantGraph extends GeometricGraph{
       
        public abstract double graphicA();
        public abstract double graphicL();
}
//矩形类
class Rectangle extends PlantGraph{
        private double side01;
        private double side02;
       
        public Rectangle(double side01, double side02) {
       
                this.side01 = side01;
                this.side02 = side02;
        }
        public void setSide01(double side01){
                this.side01=side01;
        }
        public void setSide02(double side02){
                this.side02=side02;
        }
        public double getSide01(){
                return this.side01;
        }
        public double getSide02(){
                return this.side02;
        }
        public double graphicA(){
                return side01*side02;
        }
        public double graphicL(){
                return 2*(side01+side02);
        }
       
        public void print() {
                System.out.println("这是一个矩形类计算方式:");
               
        }

       
}
//三角形
class Triangle extends PlantGraph{
        private double side01;
        private double side02;
        private double side03;
       
        public Triangle(double side01, double side02, double side03) {
               
                this.side01 = side01;
                this.side02 = side02;
                this.side03 = side03;
        }
        public void setSide01(double side01){
                this.side01=side01;
        }
        public void setSide02(double side02){
                this.side02=side02;
        }
        public void setSide03(double side03){
                this.side03=side03;
        }
        public double getSide01(){
                return this.side01;
        }
        public double getSide02(){
                return this.side02;
        }
        public double getSide03(){
                return this.side03;
        }
        public double graphicA(){
                return side01*(java.lang.Math.sqrt(java.lang.Math.abs(side03*side03-side01*side01))/2);
        }
        public double graphicL(){
                return side01+side02+side03;
        }
        @Override
        public void print() {
                System.out.println("这是一个三角形计算方式:");
               
        }
       
}
//圆形类
class Circle extends PlantGraph{
        private double side01;
       
        public Circle(double side01) {
       
                this.side01 = side01;
        }
        public void setSide01(double side01){
                this.side01=side01;
        }
        public double getSide01(){
                return this.side01;
        }
        public double graphicA(){
                return 3.14*side01*side01;
        }
        public double graphicL(){
                return 2*3.14*side01;
        }
        @Override
        public void print() {
                System.out.println("这是一个圆形类计算方式:");
               
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
java无忧网(http://www.javawyw.com),专业提供Java大作业,小作业,课程设计,毕业设计源码,答辩辅导,作业排错,bug修复,专业解答,远程部署运行项目等服务
本网站所有源码,保证能运行!
QQ:1399491757
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部