zoukankan      html  css  js  c++  java
  • 以圆类 Circle 及立体图形类 Solid 为基础设计圆柱类 Cylinder

    学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆柱类 Cylinder

    代码示例:

    import java.util.Scanner;
    class Point3{
    private double x;
    private double y;
    public Point3(double x,double y) {
    this.x=x;
    this.y=y;
    System.out.println("Point Constructor run");
    }
    public void setX(double x) {//设置x坐标
    this.x=x;
    }
    public double getX(){//返回x坐标
    return x;
    }
    public void setY(double y) {//设置y坐标
    this.y=y;
    }
    public double getY(){//返回y坐标
    return y;
    }
    public void show() {//显示点的坐标
    System.out.println("Point(X="+x+",Y="+y+")");
    }
    }
    abstract class Plane3 extends Point3{
    public Plane3(double x, double y) {
    super(x, y);
    }
    double length() {
    return 0;
    }
    double area() {
    return 0;
    }
    }
    class Circle1 extends Plane2 {

    public Circle1(double x, double y,double radius) {
    super(x,y);
    this.x=x;
    this.y=y;
    this.radius=radius;
    System.out.println("Circle Constructorrun");
    }

    private double x;
    private double y;
    final double PI=3.14159;
    private double radius;
    public void setX(double x) {//设置x坐标
    this.x=x;
    }
    public final double getX(){//返回x坐标
    return x;
    }
    public void setY(double y) {//设置y坐标
    this.y=y;
    }
    public final double getY(){//返回y坐标
    return y;
    }
    public void setR(double r) {
    radius=r;
    }
    public final double getR() {
    return radius;
    }
    public final void show() {
    System.out.println("Circle(Point("+x+","+y+"),Radius="+radius+")");
    }
    public final double area() {
    double area=PI*radius*radius;
    System.out.println("Area="+area);
    return 0;
    }
    public final double length() {
    double length=2*PI*radius;
    System.out.println("Length="+length);
    return 0;
    }
    }
    abstract class Solid extends Circle{
    private double x;
    private double y;
    private double radius;
    public Solid(double x, double y, double radius) {
    super(x, y, radius);
    this.x=x;
    this.y=y;
    this.radius=radius;
    }
    public double volume() {//计算体积
    return 0;
    }
    public double s_Area() {//计算表面积
    return 0;
    }
    }
    public class Cylinder extends Solid{

    private double x;
    private double y;
    private double radius;
    private double height;
    public Cylinder(double x, double y, double radius,double height) {
    super(x, y, radius);
    this.x=x;
    this.y=y;
    this.radius=radius;
    this.height=height;
    System.out.println("Cylinder Constructorrun");
    }
    public void setX(double x) {//设置x坐标
    this.x=x;
    }
    public void setY(double y) {//设置y坐标
    this.y=y;
    }
    public void setR(double r) {
    radius=r;
    }
    public void setH(double height) {
    this.height=height;
    }
    public double getH() {
    return height;
    }
    public final void show() {
    System.out.println("Cylinder(Circle(Point("+x+","+y+"),Radius="+radius+"),Height="+height+")");
    }
    public final double s_Area() {
    double sarea=2*(PI*radius*radius)+(2*PI*radius)*height;
    System.out.println("s_Area="+sarea);
    return 0;
    }
    public final double volume() {
    double volume=(PI*radius*radius)*height;
    System.out.println("Volume="+volume);
    return 0;
    }

    public static void main(String[] args) {
    double h;
    System.out.println("请输入h:");
    Scanner sc=new Scanner(System.in);
    h=sc.nextDouble();
    Cylinder cy1=new Cylinder(1,2,3,4);
    Cylinder cy2=cy1;
    cy1.show();
    System.out.println();
    cy1.area();
    cy1.length();
    cy1.s_Area();
    cy1.volume();
    System.out.println("............................................................................................");
    cy2.setH(h);
    cy2.show();
    System.out.println();
    cy2.area();
    cy2.length();
    cy2.s_Area();
    cy2.volume();

    }

    }

    运行截图:

     明天任务:以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone

  • 相关阅读:
    【Python】多态、协议和鸭子类型
    【Python】魔法方法之__call__,将对象当方法使用
    【Python】策略模式
    【Python】if 后怎么就可以跟对象?变量交换写法是语法糖吗?
    【Python 库】NumPy 超详细教程(3):ndarray 的内部机理及高级迭代
    【Python 库】NumPy 超详细教程(2):数据类型
    【Python 库】NumPy 超详细教程(1):NumPy 数组
    【杂谈】10 年三线小城 IT 开发的感悟
    【PostgreSQL】安装及中文显示
    【Python 库】轻量级 ORM 框架 peewee 用法详解之——增删改查
  • 原文地址:https://www.cnblogs.com/zyj3955/p/13451041.html
Copyright © 2011-2022 走看看