达芬奇画画

qq_38097342 2017-05-06 11:45:49
1) 定义点类(二维,即包含x,y坐标) Point,2)定义一个图形类Figure(抽象类):包含抽象方法画图(onDraw)3)定义一个三角形继承于图形类,属性:三个点方法:设置点,获取点等相关方法以及重写的画图方法PS:画图方法中要求打印出 画出的是一个什么图形和各个点坐标4)定义一个圆形类,和三角形要求一致5)定义一个画家类Painter方法:画画:可以画出一个图形6)写一个测试类,测试画家画画,画一个三角形,一个圆形。
目前我已经把各个类的属性和方法写出来了,但是在main()方法里面编写的时候老报错,所以我想看一下大神的代码,谢谢。
...全文
324 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38097342 2017-05-06
  • 打赏
  • 举报
回复
我已经写出来了,运行没问题,但是不太满意,大神帮我看看吧,谢谢 package com.oracleoace.Yuan; //点类 public class Pointe { private float x; private float y; public Pointe(float x,float y){ this.x=x; this.y=y; } public float getX() { return x; } public void setX(float x) { this.x = x; } public float getY() { return y; } public void setY(float y) { this.y = y; } } package com.oracleoace.Yuan; //图形类 public abstract class Figure { abstract void onDraw(); } //三角形类 class Trigon extends Figure{ private float x1; private float y1; private float x2; private float y2; private float x3; private float y3; public Trigon(float x1,float y1,float x2,float y2,float x3,float y3){ this.x1=x1; this.y1=y1; this.x2=x2; this.y2=y2; this.x3=x3; this.y3=y3; } public float getcoord() { return x1+y1+x2+y2+x3+y3; } public void setcoord(float x1,float y1,float x2,float y2,float x3,float y3) { this.x1=x1; this.y1=y1; this.x2=x2; this.y2=y2; this.x3=x3; this.y3=y3; } public String Drawing(){ return "("+x1+","+y1+")"+"("+x2+","+y2+")"+"("+x3+","+y3+")"; } public void onDraw() { System.out.println("达芬奇开始画画:"); System.out.println("画出了一个三角形,三个坐标分别为:"+Drawing()); } } package com.oracleoace.Yuan; //圆类 public class Round extends Figure{ float x; float y; float radii; public Round(float x,float y, float radii){ this.x=x; this.y=y; this.radii=radii; } public float getX() { return x; } public void setX(float x) { this.x = x; } public float getY() { return y; } public void setY(float y) { this.y = y; } public String Drawing(){ return "("+x+","+y+")"; } @Override public void onDraw() { System.out.println("达芬奇开始画画:"); System.out.println("画出了一个圆形,圆心坐标为:"+Drawing()+"半径为:"+radii); } } package com.oracleoace.Yuan; //画家类 public class Painter { public void onDraw(Figure figure) { figure.onDraw(); } } package com.oracleoace.Yuan; //测试类 public class PainterDemo { public static void main(String[] args) { Painter p=new Painter(); Trigon t=new Trigon(0, 0,0,1,1,0); Round r=new Round(2, 2,1); p.onDraw(t); p.onDraw(r); } }

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧