学习内容:以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle

代码示例:

import java.util.Scanner;

class Point2{
private double x;
private double y;
public Point2(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 Plane2 extends Point2{
public Plane2(double x, double y) {
super(x, y);
}
double length() {
return 0;
}
double area() {
return 0;
}
}
public class Circle extends Plane2 {

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

public static void main(String[] args) {
double x=0,y=0,r=0;
Circle c1=new Circle(0, 0, 0);
Circle c2=c1;
c1.show();
System.out.println("..............................................");
c1.area();
c1.length();
System.out.println("请分别输入x,y,r:");
Scanner sc=new Scanner(System.in);
x=sc.nextDouble();
y=sc.nextDouble();
r=sc.nextDouble();
c2.setX(x);
c2.setY(y);
c2.setR(r);
c2.show();
System.out.println("..............................................");
c2.area();
c2.length();

}

}

运行截图:

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

最新文章

  1. linux命令格式及基础命令(一)
  2. 安装wampserver之后,浏览器中输入localhost页面显示IIS7解决办法
  3. Java中使用BASE64加密&解密
  4. linux笔记_文件搜索命令
  5. Python中的split()函数的使用方法
  6. android sqlite 中存储 long 数据
  7. #if和#ifdef区别
  8. C/C++将一个整型数组拼接成一个字符串
  9. 利用谷歌开源工具cAdvisor 结合influxdb存储+Grafana前端展示进行Docker容器的监控
  10. CGroup Namspace
  11. Cache【硬盘缓存工具类(包含内存缓存LruCache和磁盘缓存DiskLruCache)】
  12. String类笔记
  13. Windows 禁止 chrome 自动更新的方法
  14. C++11 类型后置语法
  15. Log4j使用笔记
  16. .netcore-FreeSql的使用-搭建context
  17. (A - 整数划分 HYSBZ - 1263)(数组模拟大数乘法)
  18. web安全之渗透测试
  19. 关于在ASP.NET中使用JavaScript的建议
  20. 说一说activity

热门文章

  1. 结合CSS3的布局新特征谈谈常见布局方法
  2. HTML 初学整理
  3. JavaScript 的Date构造函数太迷惑了。。。
  4. Mybatis 多表实现多对一查询、添加操作
  5. mysql数据乱码
  6. input禁止输入空格 以及 input各种输入限制
  7. 【UWP】实现一个波浪进度条
  8. Mybatis分页查询total中的坑
  9. 电机三环pid控制及调试经验
  10. json在前后台传递的形式