第 7 章面向對象編程_第1頁
第 7 章面向對象編程_第2頁
第 7 章面向對象編程_第3頁
第 7 章面向對象編程_第4頁
第 7 章面向對象編程_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、類和對象1. 簡述類和對象之間的關系對象是類的實例。2. 對象的引用和對象本身分別存在哪塊存儲區(qū)?對象的引用實在棧中聲明一個地址,來引用堆中的對象。3. 方法簽名由哪些部分組成?方法簽名有對象名與參數(shù)列表組成。4. 創(chuàng)建一個Teacher類,要求描述姓名、性別、年齡、薪水,定義一個方法,用于在教師原有薪水的基礎上增加5000,再定義一個TeacherTest類,創(chuàng)建一個Teacher對象并初始化對象的各屬性值,調用教師增加薪水的方法,并將增加薪水后的教師信息輸出。public class Teacher private String name; private String xingbie;

2、private int age; private int xinshui; Teacher() String name; String xingbie; int age; int xinshui; public void setXinshui(int xinshui) this.xinshui=xinshui; public int getZhangxinshui() return xinshui+5000; public void setName(String name) =name; public String getName() return name; public

3、void setXingbie(String xingbie) this.xingbie=xingbie; public String getXingbie() return xingbie; public void setAge(int age) this.age=age; public int getAge() return age; =import java.util.Scanner;public class TeacherDema public static void main(String args) Teacher TeacherTest=new Teacher(); Scanne

4、r a=new Scanner(System.in); System.out.println("請輸入姓名:"); String b=a.next(); TeacherTest.setName(b); System.out.println("請輸入年齡:"); int c=a.nextInt(); TeacherTest.setAge(c); System.out.println("請輸入性別:"); String d=a.next(); TeacherTest.setXingbie(d); System.out.println(&q

5、uot;請輸入你的當月工資:"); int e=a.nextInt(); TeacherTest.setXinshui(e); System.out.println("姓名:" + TeacherTest.getName() + "n年齡:" + TeacherTest.getAge() + "n性別:" + TeacherTest.getXingbie() + "n您的當月工資:" + e + "n加薪后的薪水為:" + TeacherTest.getZhangxinshui();

6、5. 小紅養(yǎng)了兩只貓,一只叫小黑,今年2歲,黑色,另一只叫小白,今年5歲,白色。請編寫一個程序,要求當用戶輸入小貓的名字時,就顯示貓的名字、年齡和顏色。如果用戶輸入的小貓名字錯誤,則顯示“小紅沒有養(yǎng)這只貓”。public class Car private String name; private int age; private String color; Car() public void setName(String name) = name; public String getName() return name; public void setAge(int ag

7、e) this.age = age; public int getAge() return age; public void setColor(String color) this.color = color; public String getColor() return color; =public class CarDemo public static void main(String args) Scanner scanner=new Scanner(System.in); Car a=new Car(); Car c=new Car(); a.setName("小黑&quo

8、t;); a.setAge(2); a.setColor("黑色"); c.setName("小白"); c.setAge(5); c.setColor("白色"); System.out.println("請輸入小貓的名字:"); String k=scanner.next(); if (k.equals("小黑") System.out.println("name:" + a.getName()+" age:"+a.getAge()+" co

9、lor:"+a.getColor(); else if (k.equals("小白") System.out.println("name:" + c.getName() + " age:" + c.getAge() + " color:" + c.getColor(); else System.out.println("小紅沒有養(yǎng)這只貓!"); 字符串1. String str = new String(“abc”),這段代碼一共生成了幾個String對象?為什么?2. 給定“stuI

10、d,name,age”格式的學生信息,解析并創(chuàng)建學生對象3. 輸入自己的身份證號碼,并由此號碼輸出自己的生日,年月日4. 給定一個字符串數(shù)組,按照字典順序進行從小到大的排序(排序算法自己寫) "asda", "ret", "vsa", "asdf", "vdft", "qwr" 5. 統(tǒng)計一個子串在指定字符串中出現(xiàn)的次數(shù)(6個)(回家作業(yè))"javasdfjavawerjavavsswetjavadfgdfgjavadfgdfbtujava "6. 取出兩

11、個字符串中最大相同的子串7. 模擬一個與trim()功能一致的方法方法1. 定義求圓的面積的方法,并調用該方法求出圓的面積2. 定義一個方法,要求在控制臺上畫出一個指定長寬的矩形3. 定義求k!的方法,并調用該方法求出10!并輸出4. 定義求k!的方法,并調用該方法求出1!+3!+5!+ .+19!之和并輸出5. 定義求k!的方法,并調用該方法求出C(m,n)= m!/(n! *(m-n)!)并輸出6. 定義求兩個數(shù)中最大數(shù)的方法,并調用該方法求出三個數(shù)中最大的數(shù)7. 定義求三個數(shù)中最大數(shù)的方法,并調用該方法求出三個數(shù)中最大的數(shù)8. 編寫判定閏年的方法,并調用此方法判定某一年是否是閏年。9.

12、編寫判定閏年的方法,并調用此方法求出公元1年到公元1000年之間的所有閏年。10. 編寫一個將實數(shù)四舍五入到小數(shù)點后第n位的函數(shù),并調用此函數(shù)將一個實數(shù)舍入到小數(shù)點后第2位(是指內部精度而非輸出精度)。封裝、繼承1. 編寫一個類Student,代表學員,要求:1) 具有屬性:姓名、年齡、性別、專業(yè)2) 具有方法:自我介紹,負責輸出該學員的姓名、年齡、性別以及專業(yè)3) 具有兩個帶參數(shù)的構造方法:第一個構造方法中,設置學員的性別為男,專業(yè)為Android,其余屬性的值由參數(shù)給定;第二個構造方法中,所有屬性都由參數(shù)給定編寫測試類StudentTest進行測試,分別以兩種方式對兩個Student對象進

13、行初始化,并分別調用他們的自我介紹方法,看看輸出結果是否正確。2. 需求1) 定義一個(Person)類,包含屬性:姓名,年齡,性別;寫好相關的方法,能夠構造的時候初始化或者后續(xù)修改屬性值。2) 定義一個Employee類繼承于Person類,包含新的屬性:職位;寫好相關的方法,能夠構造的時候初始化或者后續(xù)修改屬性值,重寫equals方法,規(guī)則:當兩個對象的姓名,年齡,性別,職位都相等時返回true,否則返回false。3) 寫一個測試類進行相關測試(要求可以打印對象的信息,能夠比較對象是否"相等")。效果:3. 假設現(xiàn)在需要對員工進行建模,員工包含3個屬性:工號、姓名、工

14、資。經理也是員工,除了含有員工的屬性外,另外還有一個獎金屬性。請使用繼承的思想設計出員工類和經理類。要求類中提供必要的方法進行屬性訪問。4. 用面向對象編程的思想,設計一個猜拳游戲,完成人機猜拳互動游戲的開發(fā)。功能:1) 選取對戰(zhàn)角色2) 猜拳3) 記錄分數(shù)效果圖:提示:先思考這個程序中一共涉及到多少個類,需要創(chuàng)建多少個對象。5. 為某音像店開發(fā)一個迷你DVD管理器,實現(xiàn)DVD碟片的管理,包括如下功能:新增DVD、查看DVD、刪除DVD、借出DVD、歸還DVD。(后臺使用數(shù)組來存放DVD對象。默認最多存放100個)設計:1) DVD類(屬性:id ,name ,lendCount ,lendD

15、ate ,status)(默認每張DVD都是唯一的) lendCount字段每借一次加12) DVDDB類(提供一個動態(tài)數(shù)組來保存多張DVD)3) DVDManager類(提供操縱功能),添加DVD、查看DVD、刪除DVD、借出DVD、歸還DVD、DVD排行榜(按借出次數(shù)降序排序),退出系統(tǒng)效果圖:多態(tài)1. 張三可以開關家里的任何電器,比如電燈、電視、電扇等。使用繼承和多態(tài)來實現(xiàn)開關電器的方法。2. 學校中心配備一臺打印機(可以是黑白打印機,也可以是彩色打印機)。中心可以通過打印機打印學員的個人信息(張三和李四等)。通過繼承和多態(tài)來設計這個程序,使程序具有更好的擴展性和維護性。3. 模擬一個軍

16、隊作戰(zhàn),軍隊里面有各種兵,騎兵,步兵等等。每種兵的攻擊敵人方式不一樣。建立各種各樣的兵,至少3種,然后建立一個軍官,軍官也會上場去攻擊敵人,但是軍官還有一種行為,就是發(fā)號,軍官發(fā)號了,無論什么兵都去戰(zhàn)場攻擊敵人,也可以指定哪種兵去攻擊敵人。最后程序運行效果就是一個軍官開始發(fā)號,然后所有被指定的士兵包括軍官都去打仗,顯示每個人攻擊敵人的方式。4. 用Java程序完成以下場景:有一個主人(Master類),他養(yǎng)了兩只寵物(Pet類),一只寵物是狗(Dog類),名字叫“旺財”,另一只寵物是貓(Cat類),名字叫“小花”,現(xiàn)在有兩種食物(Food類),分別是骨頭(Bone)和魚(Fish)。主人分別給

17、兩只寵物喂食物,兩只寵物厭食,狗只吃骨頭(如果主人為夠吃別的食物,就顯示“狗不吃某某食物”);貓只吃魚(如果主人為貓吃別的食物,就顯示“貓不吃某某食物”)提示:1) 程序結構如下2) main方法代碼如下3) 程序運行結果如下抽象類和接口1. 通過抽象類定義車類的模版,定義一個抽象方法run(),然后通過抽象的車類來派生拖拉機(Tractor)、卡車(Truck)、小轎車(Saloon),并且有各自的run()方法實現(xiàn)。2. 編寫一個程序,要求:1) 定義一個Student類(屬性:學號、名字、成績),通過實現(xiàn)comparable接口讓它具有比較大小的能力(通過成績來比較)2) 定義一個Student數(shù)組stus,生成5個Student對象,存入stus中3) 定義一個StudentTest類,通過調用Arrays工具類中的sort方法來對stus中的元素進行排序。3. 編寫一個程序,模擬以下場景:現(xiàn)有一塊電腦主板,其主板本身已經集成了網卡和聲卡功能,但是為了滿足市場的需求,主板上提供了3個PCI接口,提供給用戶后期擴展功能使用。用戶可以在PCI接口上插上各種PCI設備,例如可以支持千M網速的獨立網卡、HIFI音質的獨立聲卡、檢測專用的檢測卡等。4. 使用策略模式的設計方式來實現(xiàn)對數(shù)組的排序,提供兩種具體的實施策略,冒泡排序法和選擇

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論