帮忙改一下程序,感激不尽!!!!!

dong1106 2002-09-08 02:26:42
2.创建下图所示的类Shape,Circle,Square,并创建新类Shapes,创建Circle,Square的对象,并调用其方法,要求体现其多态行为。(所有代码均在一个文件中,文件名为Shapes.java)

abstract Shape
abstract void draw();
String what(){}
以上分为两部分
1,Circle
void draw();
String what(){}

2,Square
void draw();
String what(){}

以下是解答,请高人们帮我改一改,基本上像是2个人写的就行,因为本人交作业急,又不是计算机专业,只好出次下策,大家谅解。
/**java习题
*homework 2
*
* @author 002733 常蓁
* @version 1.0
* Copyright 2002
*/

//Shapes.java 源程序:
import java.awt.*;
/**
*定义抽象类
*/
abstract class Shape
{
abstract void draw();
String what()
{
return null;
}
}
/**
*继承Shape类,重写其方法
*/
class Circle extends Shape
{
/**
*画一个圆,与Square的不同,体现多态
*/
public void draw()
{
Frame fr=new Frame("circle");
Canvas can=new Canvas();
fr.add(can);
fr.setSize(200,200);
fr.setVisible(true);
dCircle(can);
}
public void dCircle(Canvas c)
{
c.setForeground(Color.red);
c.getGraphics().fillOval(65,50,50,50);
}
/**
*与Square的不同,体现多态
*/
public String what()
{
return "This is a circle";
}
}

class Square extends Shape
{
/**
*画一个方块,与Circle的不同,体现多态
*/
public void draw()
{

Frame fr=new Frame("square");
Canvas can=new Canvas();
fr.add(can);
fr.setSize(200,200);
fr.setVisible(true);
dSquare(can);
}
public void dSquare(Canvas c)
{
c.setForeground(Color.red);
c.getGraphics().fillRect(65,50,50,50);
}
/**
*输出与Circle不同,体现多态
*/
public String what()
{
return "This is a square";
}
}

public class Shapes
{
public static void main(String args[])
{
/**
*从命令行输入命令
*circle就画一个圆,并输出this is a circle
*square就画一个方,并输出this is a square
*/
String str=null;
if(args[0].equals("circle"))
{
Circle c=new Circle();
c.draw();
str=c.what();
}
if(args[0].equals("square"))
{
Square s=new Square();
s.draw();
str=s.what();
}
System.out.println(str);
}
}
...全文
86 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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