更新時(shí)間:2020-08-14 16:06:45 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2725次
按要求編寫一個(gè)Java應(yīng)用程序:
(1)編寫一個(gè)矩形類Rect,包含:
兩個(gè)protected屬性:矩形的寬width;矩形的高h(yuǎn)eight。
兩個(gè)構(gòu)造方法:
1.一個(gè)帶有兩個(gè)參數(shù)的構(gòu)造方法,用于將width和height屬性初化;
2.一個(gè)不帶參數(shù)的構(gòu)造方法,將矩形初始化為寬和高都為10。
兩個(gè)方法:
求矩形面積的方法area()
求矩形周長的方法perimeter()
(2)通過繼承Rect類編寫一個(gè)具有確定位置的矩形類PlainRect,其確定位置用
矩形的左上角坐標(biāo)來標(biāo)識(shí),包含:
添加兩個(gè)屬性:矩形左上角坐標(biāo)startX和startY。
兩個(gè)構(gòu)造方法:
帶4個(gè)參數(shù)的構(gòu)造方法,用于對(duì)startX、startY、width和height屬性
初始化;
不帶參數(shù)的構(gòu)造方法,將矩形初始化為左上角坐標(biāo)、長和寬都為0
的矩形;
添加一個(gè)方法:
判斷某個(gè)點(diǎn)是否在矩形內(nèi)部的方法isInside(double x,double y)。如在矩
形內(nèi),返回true,否則,返回false。
提示:點(diǎn)在矩形類是指滿足條件:
x>=startX&&x<=(startX+width)&&y
(3)編寫PlainRect類的測(cè)試程序
創(chuàng)建一個(gè)左上角坐標(biāo)為(10,10),長為20,寬為10的矩形對(duì)象;
計(jì)算并打印輸出矩形的面積和周長;
判斷點(diǎn)(25.5,13)是否在矩形內(nèi),并打印輸出相關(guān)信息。
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("這個(gè)矩形的面積是"+j1.area());
????????System.out.println("這個(gè)矩形的面積是"+j1.perimeter());
????????System.out.println(j1.isInside(25.5,?13));
????}
}
運(yùn)行結(jié)果
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java面向?qū)ο缶毩?xí)題繼承之點(diǎn)和矩形”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)