怎么用java里抽象类的方式计算相应形状的面积
Square的类,这个类有1个数据成员,_sideLen.这些派生类应提供getArea()方法的实现,以计算相应形状的面积。这个要怎么弄啊...
Square的类,这个类有1个数据成员,_sideLen.这些派生类应提供getArea()方法的实现,以计算相应形状的面积。这个要怎么弄啊
展开
5个回答
2013-08-27
展开全部
父类:
public abstract class Jihe {
private int height;//高
private int wight;//宽
/**
* 构造函数1
*/
public Jihe() {
super();
}
/**
* 构造函数2
* @param height
* @param wight
*/
public Jihe(int height, int wight) {
super();
this.height = height;
this.wight = wight;
}
/**
* 封装
* @return
*/
public int getHeight() {
return height;
} public void setHeight(int height) {
this.height = height;
} public int getWight() {
return wight;
} public void setWight(int wight) {
this.wight = wight;
}
//抽象方法没有具体实现,但是都要求在子类中实现
public abstract int perimeter(int height,int wight);//抽象方法求周长
public abstract int area(int height,int wight);//抽象方法求面积
}
子类:**
* 子类重写父类的抽象方法
* @author Administrator
*
*/
public class Rectangle extends Jihe{
/**
* 计算面积
*/
@Override
public int area(int height, int wight) {
return height*wight;
}
/**
* 计算周长
*/
@Override
public int perimeter(int height, int wight) {
return (height+wight)*2;
}
}
测试类:/**
* 测试类
* @author Administrator
*
*/
public class RectangleTest {
public static void main(String[] args) {
Rectangle rtg=new Rectangle();
rtg.setHeight(20);//设置长为20
rtg.setWight(10);//宽为10
int a=rtg.perimeter(rtg.getHeight(),rtg.getWight());//定义变量a保存返回的周长值
int b=rtg.area(5, 8);//定义变量b保存返回的面积值
System.out.println(a+"\t"+b);//输出周长和面积
}}
其实该题主要考察的是java中的oop编程,也就是说面向对象编程的思想而已。以上是我以前做的一个小项目,你可以参考参考。希望对你有帮助!
public abstract class Jihe {
private int height;//高
private int wight;//宽
/**
* 构造函数1
*/
public Jihe() {
super();
}
/**
* 构造函数2
* @param height
* @param wight
*/
public Jihe(int height, int wight) {
super();
this.height = height;
this.wight = wight;
}
/**
* 封装
* @return
*/
public int getHeight() {
return height;
} public void setHeight(int height) {
this.height = height;
} public int getWight() {
return wight;
} public void setWight(int wight) {
this.wight = wight;
}
//抽象方法没有具体实现,但是都要求在子类中实现
public abstract int perimeter(int height,int wight);//抽象方法求周长
public abstract int area(int height,int wight);//抽象方法求面积
}
子类:**
* 子类重写父类的抽象方法
* @author Administrator
*
*/
public class Rectangle extends Jihe{
/**
* 计算面积
*/
@Override
public int area(int height, int wight) {
return height*wight;
}
/**
* 计算周长
*/
@Override
public int perimeter(int height, int wight) {
return (height+wight)*2;
}
}
测试类:/**
* 测试类
* @author Administrator
*
*/
public class RectangleTest {
public static void main(String[] args) {
Rectangle rtg=new Rectangle();
rtg.setHeight(20);//设置长为20
rtg.setWight(10);//宽为10
int a=rtg.perimeter(rtg.getHeight(),rtg.getWight());//定义变量a保存返回的周长值
int b=rtg.area(5, 8);//定义变量b保存返回的面积值
System.out.println(a+"\t"+b);//输出周长和面积
}}
其实该题主要考察的是java中的oop编程,也就是说面向对象编程的思想而已。以上是我以前做的一个小项目,你可以参考参考。希望对你有帮助!
展开全部
继承抽象类,复写求面积的getArea方法,具体实现按照形状面积公式进行计算,题目的正方形面积公式就是边的平方,自己实现方法就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道能否这样理解:
///Shape.java
public abstract class Shape {
public abstract double getArea();
}
///Square.java
public class Square extands Shape {
private double sideLen;
public Shape() {}
public Shape(double sideLen) {
this.sideLen = sideLen;
}
@override
public double getArea() {
return sideLen * sideLen;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在派生类里面重写getArea方法。每个类都用自己的成员计算面积。实例化的时候用派生类实例化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询