怎么用java里抽象类的方式计算相应形状的面积

Square的类,这个类有1个数据成员,_sideLen.这些派生类应提供getArea()方法的实现,以计算相应形状的面积。这个要怎么弄啊... Square的类,这个类有1个数据成员,_sideLen.这些派生类应提供getArea()方法的实现,以计算相应形状的面积。这个要怎么弄啊 展开
 我来答
匿名用户
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编程,也就是说面向对象编程的思想而已。以上是我以前做的一个小项目,你可以参考参考。希望对你有帮助!
360小仙
2018-02-26 · TA获得超过839个赞
知道小有建树答主
回答量:689
采纳率:86%
帮助的人:113万
展开全部
继承抽象类,复写求面积的getArea方法,具体实现按照形状面积公式进行计算,题目的正方形面积公式就是边的平方,自己实现方法就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L93_01
2018-02-14
知道答主
回答量:9
采纳率:50%
帮助的人:2.7万
展开全部

不知道能否这样理解:

///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;
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩笑plp
2018-02-28
知道答主
回答量:6
采纳率:100%
帮助的人:5423
展开全部
在派生类里面重写getArea方法。每个类都用自己的成员计算面积。实例化的时候用派生类实例化。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王曾峰
2018-02-26
知道答主
回答量:8
采纳率:0%
帮助的人:6832
展开全部
想怎么弄就怎么弄
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式