继承小例子


public class Shape{
private String name;
protected double area;
public Shape(String name){
this.name=name;

}
public String getName(){
return this.name;
}
public double countArea(){
return 0.0;
}
}
class Rectangle extends Shape{
private double length,width;

public Rectangle(String name,double length,double width){
super(name);
this.length=length;
this.width=width;
}
public double countArea(){
return this.area=length*width;

}

}
class Triangle extends Shape{
private double length,width;

public Triangle(String name,double length,double width){
super(name);
this.length=length;
this.width=width;
}
public double countArea(){
return this.area=1/2*length*width;

}

}
class Circle extends Shape{
private double r;
public Circle (String name,double r){
super(name);
this.r= r;
}
public double countArea(){
return this.area=Math.PI*Math.pow(r,2.0);

}

}
class TestShape{

public static void calShapeArea(Shape r){
System.out.println(r.countArea());
}
public static void main(String[] args){
Shape r = new Rectangle("矩形",58,76);
calShapeArea(r);
r = new Circle("圆形",12);
calShapeArea(r);
r= new Triangle("三角形",378,38);
calShapeArea(r);
r= new Circle("圆形",38);
calShapeArea(r);
}

}


public interface ShapeInterface{


public static final double PI=3.1415926;
public static void countArea();
public static double getArea();

}
interface comparableShape extends ShapeInterface{}
class CircleImpl implements ShapeInterface{
private double r;
private double area;
public CircleImpl(double r){
this.r=r;
}
public void countArea(){
this.area = this.PI * Math.pow(r,2.0);
}
public double getArea(){return area;}
}
class Triangle implements ShapeInterface{
private double length;
private double width;
private double area;
public void countArea(){
this.area= 1/2*length*width;
}
public double getArea(){return area;}
}
class ShapeInterfaceApp{

public static void printShapeArea(ShapeInterface shape){

shape.countArea();
System.out.println(shape.getArea());
}
public static void main(String[] args){

ShapeInterface circle = new CircleImpl(23.4);
printShapeArea(circle);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值