用接口的方法改造抽象类

[复制链接]
查看11 | 回复2 | 2009-3-20 09:59:20 | 显示全部楼层 |阅读模式
1,阅读Demo程序
/** 一个应用程序,用来演示abstract类和abstract方法 */
/** 抽象类Shape */
abstract class Shape{
int position_x,position_y; //座标变量
/** MoveTo()方法,移动座标到指定位置 */
void MoveTo(int new_pos_x,int new_pos_y){
position_x=new_pos_x;
position_y=new_pos_y;
}
/** draw()方法,为抽象方法 */
abstract void draw();
}//抽象类Shape结束
/** Square类,为Shape类的子类 */
class Square extends Shape{
int length;
/** 实现了父类的draw()方法 */
void draw(){
System.out.println("This is a square.");

//以(position_x,position_y)为中心,画出一个边长是length的正方形
}
}//Square类结束
/** Circle类,为Shape类的子类 */
class Circle extends Shape{
int radius;
/** 实现了父类的draw()方法 */
void draw(){
System.out.println("This is a circle.");

//以(position_x,position_y)为中心,画出一个半径是radius的园
}
}//Circle类结束
/** Trigon类,为Shape类的子类 */
class Trigon extends Shape{
int bottom;
int highness;
/** 实现了父类的draw()方法 */
void draw(){

System.out.println("This is a trigon.");

//以(position_x,position_y)为重心,画出一个
//底为bottom,高为highness的三角形
}
}//Trigon类结束
/** ShapeManager类 */
class ShapeManager{
/** manager()方法 */
void manager(Shape obj){ //该方法以Shape类型的对象为参数
obj.draw();
//调用时,可以子类对象代替
}
}//ShapeManager类结束
/** Demo类 */
public class Demo{
/** main()方法 */
public static void main(String args[]){
ShapeManager shape_man=new ShapeManager();
Square sq=new Square();
Circle ci=new Circle();

Trigon tr=new Trigon();
shape_man.manager(sq); //sq,ci,tr都是Shape类的子类对象
shape_man.manager(ci);

shape_man.manager(tr);
}
}//Demo类结束
解释DEMO程序,要详细
2.编写一个简单的应用程序,用接口方法改造Demo程序,并结合相关知识来解释自己的程序,要求体现抽象类和接口的区别,要详细!

回复

使用道具 举报

千问 | 2009-3-20 09:59:20 | 显示全部楼层
读你这段代码都要半天,只给5分,网上随便搜一下接口和抽象类的区别,一大堆...
回复

使用道具 举报

千问 | 2009-3-20 09:59:20 | 显示全部楼层
接口就是抽象类,搞啥啊。接口是所有方法都是抽象的。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行