亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

幫忙看下我寫的例子有啥改進空間,感覺Shape類沒有存在的必要啊?。?/h1>
package?com.imooc;

public?abstract?class?Sharp?{
	abstract?void?circumference();
	abstract?void?area();
}
package?com.imooc;

public??class?Rectangle?extends?Sharp?{
	public?double?length?=?5;
	public?double?width?=?3;
	void?circumference()?{
		//?TODO?Auto-generated?method?stub
		double?getCircumference?=?2?*?(length?+?width);
		System.out.println("長方形周長:"?+?getCircumference);
	}

	void?area()?{
		//?TODO?Auto-generated?method?stub
		double?getArea?=?length?*?width;
		System.out.println("長方形面積:"?+?getArea);
	}

}
package?com.imooc;

public?class?Circle?extends?Sharp?{
	final?float?pi?=?3.14f;
	double?r?=?3;?
	void?circumference()?{
		//?TODO?Auto-generated?method?stub
		double?getCircumference?=?2?*?r?*?pi;
		System.out.println("圓周長:"?+?getCircumference);
	}

	void?area()?{
		//?TODO?Auto-generated?method?stub
		double?getArea?=?r?*?r?*?pi;
		System.out.println("圓面積:"?+?getArea);
	}

}
package?com.imooc;

public?class?InitialSharp?{

	/**
	?*?@param?args
	?*/
	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		Rectangle?tu01?=?new?Rectangle();
		tu01.length?=?2;
		tu01.width?=?3;
		tu01.area();
		
		Circle?tu02?=?new?Circle();
		tu02.circumference();
	}

}


正在回答

5 回答

屬性寫成private類型

0 回復 有任何疑惑可以回復我~

給每一個子類寫有參構造方法,這樣在創建子類對象時可以調用有參構造方法傳進參數。

0 回復 有任何疑惑可以回復我~

首先重寫子類的方法必須和被繼承的父類的方法相同

//父類

public?class?Shape?{

public?void?getArea(){

????System.out.println("圖形的面積");

}

public?void?getGirth(){

????System.out.println("圖形的周長");

}

}

//圓形子類

public?class?Circle?extends?Shape?{

????int?r=3;

public?void?getArea(){

????double?area=3.14*r*r;

????System.out.println("圓形的面積"+area);

}

public?void?getGirth(){

????double?girth=2*3.14*r;

????System.out.println("圓形的周長"+girth);

}

}

//方形子類

public?class?Rectangle?extends?Shape?{

????int?a=2;

????int?b=4;

????public?void?getArea(){

????????double?area=a*b;

????????System.out.println("方形的面積"+area);

????}

????public?void?getGirth(){

????????double?girth=2*(a+b);

????????System.out.println("圓形的周長"+girth);

????}

}

//測試類

public?class?Initial?{

?

????public?static?void?main(String[]?args)?{

????????//?TODO?Auto-generated?method?stub

????????Circle?circle=?new?Circle();

????????circle.getArea();

????????circle.getGirth();

????????Rectangle?rectangle=?new?Rectangle();

????????rectangle.getArea();

????????rectangle.getGirth();

????}

?

}


0 回復 有任何疑惑可以回復我~

創建對象可以用多態的方法創建對象吧

0 回復 有任何疑惑可以回復我~

這就是繼承的體現,那么現在再有個圖形,同時具有周長,面積和特殊的性質,那么這里只要繼承,重寫方法后,再寫自己特殊的性質就可以了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

幫忙看下我寫的例子有啥改進空間,感覺Shape類沒有存在的必要?。?!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號