//抽象图形类
https://mp.csdn.net/mdeditor/101517498#
//圆类继承抽象图形类
package com.yl.graphics;
public class Circle extends Graphics{
int[] a;
int b[];
int radius=5;
/*
* 1.0求圆面积
*/
public double size(){
double size = Math.PI*radius*radius;
return size;
}
/*
* 2.0判断是否填充
*/
public boolean isfull(){
return this.getGraphiceFull();
}
/*
* 3.0求周长
*/
public double perimeter(){
double perimeter = 2*Math.PI*radius;
return perimeter;
}
public String toString(){
return "爷画了个圆,颜色是"+getPenColor()+"填充状态:"+" "+isfull()+"面积:"+size()+" "+"周长:"+perimeter()+" "+"半径:"+this.radius;
}
public int compareTo(Graphics gra) {
// TODO 自动生成的方法存根
Graphics cir = new Circle();
return (int) cir.size();
}
}
//正方形类
package com.yl.graphics;
public class Square extends Graphics {
int sideLength = 4;
@Override
public double size() {
// TODO 自动生成的方法存根
double size = sideLength*sideLength;
return size;
}
@Override
public boolean isfull() {
// TODO 自动生成的方法存根
return this.getGraphiceFull();
}
@Override
public double perimeter() {
// TODO 自动生成的方法存根
double per = sideLength*4;
return per;
}
public String toString(){
return "爷画了个正方形,颜色是"+getPenColor()+"填充状态:"+" "+isfull()+"面积:"+size()+" "+"周长:"+perimeter()+" "+"边长:"+this.sideLength;
}
@Override
public int compareTo(Graphics gra) {
// TODO 自动生成的方法存根
Graphics squ = new Square();
return (int) squ.size();
}
}
//长方形类
package com.yl.graphics;
public class Rectangle extends Graphics {
int length = 10;
int width = 5;
@Override
public double size() {
// TODO 自动生成的方法存根
double size = length*width;
return size;
}
@Override
public boolean isfull() {
// TODO 自动生成的方法存根
return this.getGraphiceFull();
}
@Override
public double perimeter() {
// TODO 自动生成的方法存根
double per = (length+width)*2;
return per;
}
public String toString(){
return "爷画了个长方形,颜色是"+getPenColor()+"填充状态:"+" "+isfull()+"面积:"+size()+" "+"周长:"+perimeter()+" "+"长:"+this.length+"宽:"+this.width;
}
public int compareTo(Graphics gra) {
// TODO 自动生成的方法存根
Graphics rec = new Rectangle();
return (int) rec.size();
}
}
//测试画板类
package com.yl.graphics;
public class Board {
public static int whobig(int a,int b,int c){
int max = 0;
if(a>b){
max = a;
}if(a<b){
max = b;
}
if(max>c){
if(max==a){
System.out.println("The biggest one is circle!");
}else{
System.out.println("The biggest one is Square!");
}
return 1;
}if(max<c){
System.out.println("The biggest one is Rectangle!");
return -1;
}else
return 0;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Circle cir = new Circle();
cir.setPenColor("Green");
cir.setGraphiceFull(true);
System.out.println(cir);
//正方形
Graphics squ = new Square();
squ.setPenColor("Yellow");
squ.setGraphiceFull(false);
System.out.println(squ);
//长方形
Graphics rec = new Rectangle();
rec.setPenColor("red");
rec.setGraphiceFull(false);
System.out.println(rec);
int a = cir.compareTo(cir);
int b = squ.compareTo(squ);
int c = rec.compareTo(rec);
System.out.println(whobig(a,b,c));
}
}
//Comparable接口
package com.yl.graphics;
public interface Comparable {
public int compareTo(Graphics gra);
}