Java动物类enjoy方法打印,面向对象编程题汇总
在授課面向?qū)ο筮@一章節(jié)的時(shí)候,發(fā)現(xiàn)找一些比較貼近的編程題還是比較難的,從網(wǎng)上整理了一下,希望對(duì)需要的朋友有幫助。很多是從網(wǎng)上找的,如果侵犯版權(quán)請(qǐng)聯(lián)系我!
一、類和對(duì)象
1.定義一個(gè)類Demo,其中定義一個(gè)求兩個(gè)數(shù)據(jù)和的方法,定義一個(gè)測(cè)試了Test,進(jìn)行測(cè)試。
2.定義一個(gè)長(zhǎng)方形類,定義 求周長(zhǎng)和面積的方法,然后定義一個(gè)測(cè)試了Test2,進(jìn)行測(cè)試。
3.定義一個(gè)員工類,自己分析出幾個(gè)成員,然后給出成員變量,構(gòu)造方法, getXxx()/setXxx()方法,以及一個(gè)顯示所有成員信息的方法。并測(cè)試。
4.定義一個(gè)類MyMath,提供基本的加減乘除功能,然后進(jìn)行測(cè)試。
5.定義一類圓,求圓的周長(zhǎng)和面積
二、繼承
按要求編寫一個(gè)Java應(yīng)用程序:
(1)編寫一個(gè)矩形類Rect,包含:
矩形的寬width;矩形的高h(yuǎn)eight。
兩個(gè)構(gòu)造方法:
1.一個(gè)帶有兩個(gè)參數(shù)的構(gòu)造方法,用于將width和height屬性初化;
2.一個(gè)不帶參數(shù)的構(gòu)造方法,將矩形初始化為寬和高都為10。
兩個(gè)方法:
求矩形面積的方法area()
求矩形周長(zhǎng)的方法perimeter()
(2)通過繼承Rect類編寫一個(gè)具有確定位置的矩形類PlainRect,其確定位置用
矩形的左上角坐標(biāo)來(lái)標(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)、長(zhǎng)和寬都為0的矩形;
添加一個(gè)方法:
判斷某個(gè)點(diǎn)是否在矩形內(nèi)部的方法isInside(double x,double y)。如在矩形內(nèi),返回true, 否則,返回false。
提示:點(diǎn)在矩形類是指滿足條件:
x>=startX&&x<=(startX+width)&&y=(startY-height)
(3)編寫PlainRect類的測(cè)試程序
創(chuàng)建一個(gè)左上角坐標(biāo)為(10,10),長(zhǎng)為20,寬為10的矩形對(duì)象;
計(jì)算并打印輸出矩形的面積和周長(zhǎng);
判斷點(diǎn)(25.5,13)是否在矩形內(nèi),并打印輸出相關(guān)信息。
三、多態(tài)
public class DTTest {
public static void main(String[] args) {
Animal am = new Cat();//向上轉(zhuǎn)型
am.eat();//貓吃飯
am.sleep();//動(dòng)物在睡覺
am.run();//動(dòng)物在奔跑
System.out.println(am.num);//10
System.out.println(am.age);//20
//am.catchMouse();//報(bào)錯(cuò),子類中獨(dú)有的方法
// System.out.println(am.name);//報(bào)錯(cuò),子類中獨(dú)有的屬性
Cat ct = (Cat)am;//向下轉(zhuǎn)型
ct.eat();//貓吃飯
ct.sleep();//貓?jiān)谒X
ct.run();//動(dòng)物在奔跑
ct.catchMouse();//貓?jiān)谧ダ鲜?/p>
}
}
class Animal {
int num = 10;
static int age = 20;
public void eat() {
System.out.println("動(dòng)物吃飯");
}
public static void sleep() {
System.out.println("動(dòng)物在睡覺");
}
public void run(){
System.out.println("動(dòng)物在奔跑");
}
}
class Cat extends Animal {
int num = 80;
static int age = 90;
String name = "tomCat";
public void eat() {
System.out.println("貓吃飯");
}
public static void sleep() {
System.out.println("貓?jiān)谒X");
}
public void catchMouse() {
System.out.println("貓?jiān)谧ダ鲜?#34;);
}
}
四、抽象類和接口
1.?定義一個(gè)動(dòng)物類,里面有一個(gè)方法voice(),
定義一個(gè)類Cat,實(shí)現(xiàn)voice方法
然后增加一種新的動(dòng)物類型:Pig(豬),實(shí)現(xiàn)voice()方法。
定義一個(gè)Dog類,實(shí)現(xiàn)voice方法
定義一個(gè)Store(寵物店)類的getInstance方法:
如果傳入的參數(shù)是字符串dog,則返回一個(gè)Dog對(duì)象;
如果傳入pig,則返回一個(gè)Pig對(duì)象;否則,返回一個(gè)Cat對(duì)象。
2.
1)定義一個(gè)抽象類Animal,其中包括屬性name,相關(guān)構(gòu)造方法,抽象方法enjoy()表示動(dòng)物高興時(shí)動(dòng)作。
2)定義Cat類繼承于Animal類,其中包括屬性eyesColor,相關(guān)構(gòu)造方法,同時(shí)具體化父類中的抽象方法。
3)定義Dog類繼承于Animal類,其中包括屬性furColor,相關(guān)構(gòu)造方法,同時(shí)具體化父類中的抽象方法。
4)定義Lady類,其中包括屬性name,以及Animal 類型的屬性pet表示女士所養(yǎng)的寵物,定義構(gòu)造方法,
生成女士對(duì)象時(shí)初始化姓名和她所養(yǎng)的寵物。
定義一個(gè)方法:myPetEnjoy表示此女士的寵物在高興時(shí)的動(dòng)作。提示:對(duì)于此類的定義中需要使用到多態(tài)性。
5)定義測(cè)試類。
創(chuàng)建一個(gè)張女士,養(yǎng)了一只貓,讓這只貓笑一笑
創(chuàng)建一個(gè)王女士,養(yǎng)了一只狗,讓這只狗叫一叫
3.
按如下要求編寫Java程序:
(1)編寫接口InterfaceA,接口中含有方法void printCapitalLetter()。
(2)編寫接口InterfaceB,接口中含有方法void printLowercaseLetter()。
(3)編寫非抽象類Print,該類實(shí)現(xiàn)了接口InterfaceA和InterfaceB。
要求printCapitalLetter()方法實(shí)現(xiàn)輸出大寫英文字母表的功能,printLowercaseLetter()方法實(shí)現(xiàn)輸出小寫英文字母表的功能。
(4)再寫一個(gè)主類Test,在main方法中創(chuàng)建Print的對(duì)象并賦值給InterfaceA的變量a,由變量a調(diào)用printCapitalLetter方法,
然后再創(chuàng)建Print的對(duì)象并將該對(duì)象賦值給InterfaceB的變量b,由變量b調(diào)用printLowercaseLetter方法
4.
(1)定義接口A,里面包含值為3.14的常量PI和抽象方法double area()。
(2)定義接口B,里面包含抽象方法void setColor(String c)。
(3)定義接口C,該接口繼承了接口A和B,里面包含抽象方法void volume()。
(4)定義圓柱體類Cylinder實(shí)現(xiàn)接口C,該類中包含三個(gè)成員變量:底圓半徑radius、圓柱體的高h(yuǎn)eight、顏色color。
(5)創(chuàng)建主類來(lái)測(cè)試類Cylinder。
5.
(*)按如下要求編寫Java程序:
(1)編寫一個(gè)接口:OneToN,只含有一個(gè)方法int dispose(int n)。
(2)編寫一個(gè)非抽象類Sum來(lái)實(shí)現(xiàn)接口OneToN,實(shí)現(xiàn)int dispose (int n)接口方法時(shí),要求計(jì)算1 + 2 + … + n。
(3)編寫另一個(gè)非抽象類Pro來(lái)實(shí)現(xiàn)接口OneToN,實(shí)現(xiàn)int dispose (int n)接口方法時(shí),要求計(jì)算1 * 2 * … * n。
(4)編寫測(cè)試類Test,在main方法中使用接口回調(diào)技術(shù)來(lái)測(cè)試實(shí)現(xiàn)接口的類。
如需獲取答案,請(qǐng)?jiān)谖恼孪铝粞?#xff0c;或私信聯(lián)系我!!
(答案已發(fā)布,就在后面的文章里)
如果大家有其他疑問,可在文章下留言,如果覺得文章對(duì)自己的學(xué)習(xí)有幫助,請(qǐng)關(guān)注我的博客,后面會(huì)有更多的文章發(fā)布。也可以添加qq群:767375013(請(qǐng)備注CSDN)。里邊有更多的文檔視頻資料,及線上免費(fèi)公開課。希望和大家一起探討。另外想學(xué)java的同學(xué)也可以下載我的教學(xué)視頻,免費(fèi)學(xué)習(xí):https://www.bilibili.com/video/av37929261/
超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的Java动物类enjoy方法打印,面向对象编程题汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php-ml案例,AppML 案例原型
- 下一篇: 典型环节的matlab仿真分析,典型环节