用JAVA实现一个类层次:Shape、Rectangle、Triangle,其中:Shape类中定义了一个抽象方法area().
2个回答
展开全部
abstract class Shape //定义抽象类Shape
{
public Shape() //无参构造函数
{
}
public abstract double area(); //抽象方法求面积
}
class Rectangle extends Shape //定义矩形类,继承自Shape
{
private double width; //定义私有成员变量:长
private double height; //定义私有成员变量:高
public Rectangle() //无参构造函数
{
}
public double area() //实现求面积的抽象方法
{
return width*height;
}
}
class Triangle extends Shape //定义三角形类,继承自Shape
{
private double bottomside; //定义私有成员变量:底边
private double height; //定义私有成员变量:高
public Triangle() //无参构造函数
{
}
public double area() //实现求面积的抽象方法
{
return bottomside*height/2;
}
}
____________________________________________
area()方法不小心漏写了抽象修饰符,这个是我的疏忽
至于成员变量初始化赋值么,不是我漏写的,是赋值方法很多,而且对于这个问题来说,不是重点,所以没写。
{
public Shape() //无参构造函数
{
}
public abstract double area(); //抽象方法求面积
}
class Rectangle extends Shape //定义矩形类,继承自Shape
{
private double width; //定义私有成员变量:长
private double height; //定义私有成员变量:高
public Rectangle() //无参构造函数
{
}
public double area() //实现求面积的抽象方法
{
return width*height;
}
}
class Triangle extends Shape //定义三角形类,继承自Shape
{
private double bottomside; //定义私有成员变量:底边
private double height; //定义私有成员变量:高
public Triangle() //无参构造函数
{
}
public double area() //实现求面积的抽象方法
{
return bottomside*height/2;
}
}
____________________________________________
area()方法不小心漏写了抽象修饰符,这个是我的疏忽
至于成员变量初始化赋值么,不是我漏写的,是赋值方法很多,而且对于这个问题来说,不是重点,所以没写。
展开全部
一楼有误,抽象父类Shape中的方法area()应为抽象的,改为:
public abstract double area(); //抽象方法求面积
还有,变量使用前要先赋值,可在构造器中,如类Rectangle :
public Rectangle(double width,double height){
this.width = width;
this.height = height;
}
当然,也可以在其它地方赋值,如:setter()方法,
public abstract double area(); //抽象方法求面积
还有,变量使用前要先赋值,可在构造器中,如类Rectangle :
public Rectangle(double width,double height){
this.width = width;
this.height = height;
}
当然,也可以在其它地方赋值,如:setter()方法,
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询