java抽象类和接口的实现

该博客讨论了如何在Java中实现抽象基类图形,包括圆形、正方形和长方形,以及如何使用接口Comparable进行图形面积的比较。内容涵盖抽象类的定义,属性和方法,派生类的构造和方法重写,以及画板类的实现。同时,介绍了Comparable接口的使用,用于比较不同图形的面积并找出最大值。
摘要由CSDN通过智能技术生成

题目:
在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽和高,可以根据宽高来计算矩形的面积和周长。
1、编写Java程序。
(1)使用继承机制,分别设计实现抽象基类图形类,派生类圆形类、正方形类、长方形类,要求:
①抽象图形类中有属性画笔颜色、图形是否填充,有方法获取图形面积、获取图形周长等;
②使用构造方法为其成员属性赋初值;
③在每个派生类中都重写toString()方法,返回所有属性的信息;
④根据文字描述合理设计类的其他成员属性和方法。
(2)设计实现画板类,要求:
①画一个红色、无填充、长和宽分别为10.0与5.0的长方形;
②画一个绿色、有填充、半径为3.0的圆形;
③画一个黄色、无填充、边长为4.0的正方形;
④分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。

设计图形抽象类

package com.ltm;
/*抽象类 
 * */
public abstract class graphical implements comparable{
   
	 
	 public String color;
	 public String fill;	
	 public String getColor() {
   
	  return color;
	 }
	 public void setColor(String color) {
   
	  this.color = color;
	 }
	 public String getFill() {
   
	  return fill;
	 }
	 public void setFill(String fill) {
   
	  this.fill = fill;
	 }
	 public abstract double perimeter ();
	 public abstract double area();
	 public int compareTo(graphical graphical) {
   
	  int i=0;
	  if(this.area()>graphical.area()){
   
	   return i=1;
	  }else if (this.area()<graphical.area()) {
   
	   return i=-1;
	  }else if (this.area()==graphical.area()) {
   
	   return i=0;
	  }
	  return i;
	 }
	}
	
		
package com.ltm;
/*圆形类*/
public class Round extends graphical{
   
protected int radius;
	
    public Round() {
   
   }
	public Round(int radius) {
   
		this.radius=radius;
	}	
	public int getRadius() {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值