
正文
java继承与多态-3个小题
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1、(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长
(2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。
该类包含有成员变量:
radius:public 修饰的double类型radius,表示圆的半径。
x:private修饰的double型变量x,表示圆心的横坐标。
y:protected修饰的double型变量y,表示圆心的纵坐标。
包含的方法有:
Circle(double radius) 有参构造方法。以形参表中的参数初始化半径,圆心为坐标原点。 double getRadius():获取半径为方法的返回值。void setCenter(double x, double y):利用形参表中的参数设置类Circle的圆心坐标。void setRadius(double radius):利用形参表中的参数设置类Circle的radius域。
public interface ShapePara {
int getArea();
int getCircumference();
}
public class Circle implements ShapePara {
public double radius;
private double x;
protected double y;
Circle(double radius){
this.radius=radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
@Override
public int getArea() {
// TODO 自动生成的方法存根
double area=Math.PI*Math.pow(radius, 2);
return (int)area;
}
@Override
public int getCircumference() {
// TODO 自动生成的方法存根
double ference=Math.PI*2*radius;
return (int)ference;
}
}
public class TestCircle {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Circle c=new Circle(3);
System.out.println("半径为3的圆的面积是:"+c.getArea());
System.out.println("半径为3的圆的周长是:"+c.getCircumference());
}
}
2、定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积
public class Shape {
public void getArea(){
double area=0;
System.out.println("面积是:"+area);
}
}
public class Rect extends Shape {
private double width;
private double height;
Rect(double a, double b){
this.width=a;
this.height=b;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public void getArea(){
System.out.println("面积是:"+(width*height));
}
}
3、编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,统计鱼的数量 count,获得鱼数量的方法 getCount()。定义Tiger类,是Animal类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount()。定义SouthEastTiger类,是Tiger类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount()。
public class Animal {
private String name;
private int legs;
private int count;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLegs() {
return legs;
}
public void setLegs(int legs) {
this.legs = legs;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
public class Fish extends Animal{
public int getFishCount() {
setCount(10);
return getCount();
}
}
public class Tiger extends Animal{
public int getTigerCount() {
setCount(20);
return getCount();
}
}
public class SouthEastTiger extends Tiger {
public int getTigerCount() {
setCount(10);
return getCount();
}
}
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Fish f=new Fish();
Tiger t=new Tiger();
SouthEastTiger s=new SouthEastTiger();
System.out.println("鱼有"+f.getFishCount()+"条");
System.out.println("老虎有"+t.getTigerCount()+"只");
System.out.println("东北虎有"+s.getTigerCount()+"只");
}
}








