更新時間:2020-08-14 16:06:45 來源:動力節點 瀏覽2607次
按要求編寫一個Java應用程序:
(1)編寫一個矩形類Rect,包含:
兩個protected屬性:矩形的寬width;矩形的高height。
兩個構造方法:
1.一個帶有兩個參數的構造方法,用于將width和height屬性初化;
2.一個不帶參數的構造方法,將矩形初始化為寬和高都為10。
兩個方法:
求矩形面積的方法area()
求矩形周長的方法perimeter()
(2)通過繼承Rect類編寫一個具有確定位置的矩形類PlainRect,其確定位置用
矩形的左上角坐標來標識,包含:
添加兩個屬性:矩形左上角坐標startX和startY。
兩個構造方法:
帶4個參數的構造方法,用于對startX、startY、width和height屬性
初始化;
不帶參數的構造方法,將矩形初始化為左上角坐標、長和寬都為0
的矩形;
添加一個方法:
判斷某個點是否在矩形內部的方法isInside(double x,double y)。如在矩
形內,返回true,否則,返回false。
提示:點在矩形類是指滿足條件:
x>=startX&&x<=(startX+width)&&y
(3)編寫PlainRect類的測試程序
創建一個左上角坐標為(10,10),長為20,寬為10的矩形對象;
計算并打印輸出矩形的面積和周長;
判斷點(25.5,13)是否在矩形內,并打印輸出相關信息。
package?矩形;
//Rect類
public?class?Rect?{
????protected?double?height;
????protected?double?width;
????Rect()
????{
????????this.width=10.0;
????????this.height=10.0;
????}
????Rect(double?height,double?width)
????{
????????this.width=width;
????????this.height=height;
????}
????public?double?area()
????{
????????return?width*height;
????}
????public?double?perimeter()
????{
????????return?width*2+height*2;
????}??
}
package?矩形;
PlainRect類
public?class?PlainRect?extends?Rect?{
????double?startX;
????double?startY;
?????
????PlainRect(double?startX,double?startY,double?width,double?height)
????{
????????this.startX=startX;
????????this.startY=startY;
????????this.width=width;
????????this.height=height;
????}
?
????PlainRect()
????{
????????this.startX=0;
????????this.startY=0;
????????this.width=0;
????????this.height=0;
????}
?????
????public?boolean?isInside(double?x,double?y)?
????{
????????if(x>=startX&&x=startY&&y<=(startY+height))
????????{
????????????return?true;
????????}
????????else
????????{
????????????return?false;
????????}
????}
}
package?矩形;
//test主類
public?class?test?{
????public?static?void?main(String[]?args)?{
????????PlainRect?j1=new?PlainRect(10,10,20,10);
????????System.out.println("這個矩形的面積是"+j1.area());
????????System.out.println("這個矩形的面積是"+j1.perimeter());
????????System.out.println(j1.isInside(25.5,?13));
????}
}
運行結果
以上就是動力節點java培訓機構的小編針對“Java面向對象練習題繼承之點和矩形”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習