
java 习题
功能]:通过一个计算圆的面积的实例,掌握类的继承与方法覆盖的运用。[要求]:定义一个父类Area,该类中有getarea方法根据输入的半径用来计算圆的面积...
功能]: 通过一个计算圆的面积的实例,掌握类的继承与方法覆盖的运用。
[要求]:
定义一个父类Area,该类中有getarea方法根据输入的半径用来计算圆的面积。
定义子类Circle,该子类在继承父类已有功能的基础上覆盖了getarea方法,返回半圆的面积。
定义主程序类AreaDemo,在主程序类AreaDemo中分别将父类和子类实例化,分别输出圆和半圆的面积。
(2)、编译并运行程序,将编写的代码和运行结果截图贴至下方。
(3)、根据以下要求适当更改程序,要求在主程序类AreaDemo中定义父类对象并指向子类的实例,通过调用getarea方法,要求能输出圆的面积。 展开
[要求]:
定义一个父类Area,该类中有getarea方法根据输入的半径用来计算圆的面积。
定义子类Circle,该子类在继承父类已有功能的基础上覆盖了getarea方法,返回半圆的面积。
定义主程序类AreaDemo,在主程序类AreaDemo中分别将父类和子类实例化,分别输出圆和半圆的面积。
(2)、编译并运行程序,将编写的代码和运行结果截图贴至下方。
(3)、根据以下要求适当更改程序,要求在主程序类AreaDemo中定义父类对象并指向子类的实例,通过调用getarea方法,要求能输出圆的面积。 展开
3个回答
展开全部
(2): 见图。
(3): 典型的多态:三个条件都具备了。
1,有继承,
2.有重写。
3.父类引用指向子类对象。
程序如下:
class Area {
double r ;
public double getArea(double r) {
return 3.14*r*r;
}
}
class Circle extends Area {
public double getArea(double r) {
return 3.14*r*r/2;
}
}
public class AreaDemo {
public static void main(String args[]) {
Area a = new Circle();
System.out.println(a.getArea(2.3));
}
}
展开全部
class Area {
//储存圆的半径
int radii;
//父类构造方法
Area(int ra){
radii=ra;
}
//计算圆面积
void getarea(){
System.out.println("圆的面积为"+(3.14*radii*radii));
}
}
//重写父累的getarea()方法
class Circle extends Area{
Circle(int ra) {
super(ra);
}
void getarea(){
System.out.println("半圆面积"+(3.14*radii*radii/2));
}
}
public class AreaDemo{
AreaDemo(){}
public static void main(String[] args) {
Area Area=new Area(10);
Area.getarea();
Area Circle=new Circle(10);
Circle.getarea();
}
}
//储存圆的半径
int radii;
//父类构造方法
Area(int ra){
radii=ra;
}
//计算圆面积
void getarea(){
System.out.println("圆的面积为"+(3.14*radii*radii));
}
}
//重写父累的getarea()方法
class Circle extends Area{
Circle(int ra) {
super(ra);
}
void getarea(){
System.out.println("半圆面积"+(3.14*radii*radii/2));
}
}
public class AreaDemo{
AreaDemo(){}
public static void main(String[] args) {
Area Area=new Area(10);
Area.getarea();
Area Circle=new Circle(10);
Circle.getarea();
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class Area{
public abstract double getArea();
}
class Circle extends Area{
private double radius;
public Circle(double r){
this.radius=r;
}
public double getArea(){
return radius*radius*Math.PI;
}
}
public class AreaDemo{
public static void main(String[] args){
Circle c1=new Circle(2.0);
System.out.println("The area of the first circle is: "+c1.getArea());
Area c2=new Circle(4.0);
System.out.println("The area of the second circle is: "+c2.getArea());
}
}
public abstract double getArea();
}
class Circle extends Area{
private double radius;
public Circle(double r){
this.radius=r;
}
public double getArea(){
return radius*radius*Math.PI;
}
}
public class AreaDemo{
public static void main(String[] args){
Circle c1=new Circle(2.0);
System.out.println("The area of the first circle is: "+c1.getArea());
Area c2=new Circle(4.0);
System.out.println("The area of the second circle is: "+c2.getArea());
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询