Java基礎——抽象

 

 

程序示例:java

class Grap{
	public Double getArea(){
		return 0.0;
	}
}

class Circle extends Grap{
	private Integer r;   //半徑
	Circle(Integer r) {
		this.r = r;
	}
	public Double getArea(){
		return 3.14*r*r;
	}
}

class Equals extends Grap{
	private Integer x;   //長
	private Integer y;   //寬
	Equals(Integer x,Integer y) {
		this.x = x;
		this.y = y;
	}
	public Double getArea(){
		return x*y.doubleValue();
	}
}
public class UnAbstract {
	public static void main(String[] args) {
		
		System.out.println(new Circle(10).getArea());
		System.out.println(new Equals(10,10).getArea());
	}

}

程序示例運行結果:this

314.0
100.0

如何解決上述問題?  抽象!spa

抽象方法 抽象類code

程序示例:繼承

abstract class Grap{
	abstract public Double getArea();  //抽象方法的類必定是抽象類
}

class Circle extends Grap{
	private Integer r;   //半徑
	Circle(Integer r) {
		this.r = r;
	}
	
	public Double getArea(){
		return 3.14*r*r;
	}
}

// 抽象類的繼承類爲非抽象類時必須從新父類的抽象方法。
abstract class Equals extends Grap{
	private Integer x;   //長
	private Integer y;   //寬
	Equals(Integer x,Integer y) {
		this.x = x;
		this.y = y;
	}
	
}
public class UnAbstract {
	public static void main(String[] args) {
		
		System.out.println(new Circle(10).getArea());
		
	}

}

程序示例運行結果:get

314.0
相關文章
相關標籤/搜索