java課件1-5面向?qū)ο缶幊蘝第1頁
java課件1-5面向?qū)ο缶幊蘝第2頁
java課件1-5面向?qū)ο缶幊蘝第3頁
java課件1-5面向?qū)ο缶幊蘝第4頁
java課件1-5面向?qū)ο缶幊蘝第5頁
免費預(yù)覽已結(jié)束,剩余16頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、面向?qū)ο蟮腏ava實現(xiàn)-封裝為什么需要封裝 2-1編寫一個類,代表ZhuoYue教員,要求:具有屬性:姓名、年齡具有行為:自我介紹ZhuoYue教員的最小年齡要求:22歲2public class ZhuoYueTeacher1public String name; / 教員姓名public int age; /年齡/* * 返回自我介紹的內(nèi)容 */public String introduction() return 大家好!我是 + name + ,我今年+ age+歲;為什么需要封裝 2-2編寫一個測試類,要求:實例化一個教員對象,并對其初始化在控制臺輸出該教員的自我介紹3public

2、class ZhuoYueTeacher1Test public static void main(String args) ZhuoYueTeacher1 teacher = new ZhuoYueTeacher1(); = 李芳;teacher.age =10;System.out.println(roduction(); 要滿足教員的最小年齡要求,可以通過對屬性的封裝來實現(xiàn)大家好!我是李芳,我今年10歲什么是封裝封裝,就是隱藏實現(xiàn)細節(jié)將屬性私有化,提供公有方法訪問私有屬性通過這些公有方法訪問私有屬性 4public class ZhuoYue

3、Teacher2 private String name; / 教員姓名/ 返回教員姓名public String getName() return name;/ 設(shè)定教員姓名public void setName(String name) = name;ZhuoYueTeacher2 teacher = new ZhuoYueTeacher2();teacher.setName (李芳);String tName = teacher.getName();通過setter、getter方法訪問name屬性this代表當(dāng)前類的實例如何實現(xiàn)封裝2-1封裝的實現(xiàn):1、修改屬性的可

4、見性來限制對屬性的訪問2、為每個屬性創(chuàng)建一對賦值(setter)方法和取值(getter) 方法,用于對這些屬性的訪問3、在setter和getter方法中,加入對屬性的存取限制5public class ZhuoYueTeacher3 private String name; / 教員姓名private int age; /年齡public int getAge() return age;public void setAge(int age) if (age22) System.out.println(錯誤!最小年齡應(yīng)為22歲!);this.age = 22; /如果不符合年齡要求,則賦予默

5、認值 else this.age = age; /此處省略對name屬性的setter、getter方法123如何實現(xiàn)封裝2-26public class ZhuoYueTeacher3Test public static void main(String args) ZhuoYueTeacher3 teacher = new ZhuoYueTeacher3();teacher.setName (李芳);teacher.setAge(10);System.out.println(roduction();使用封裝,增加了數(shù)據(jù)訪問限制,增強了程序的可維護性 錯誤!最小年齡應(yīng)為

6、22歲!大家好!我是李芳,我今年22歲測試類通過調(diào)用setter方法,為對象的各個屬性賦值課堂討論 使用private關(guān)鍵字修飾某個成員變量后,這個成員變量可以被同一包中的其它類訪問嗎?在Java程序中,代碼封裝帶給我們的好處是什么?7現(xiàn)場編程8編寫學(xué)生類,輸出學(xué)生相關(guān)信息編寫教員類,輸出教員相關(guān)信息學(xué)生類屬性:姓名(小于5個漢字)年齡(大于18歲)身高(1m-2.5m)參加的課程方法:顯示學(xué)員個人信息教員類屬性:姓名(小于5個漢字)專業(yè)方向教授的課程教齡方法:顯示教員個人信息為什么需要構(gòu)造方法2-1開發(fā)ZhuoYue教員類ZhuoYueTeacher4,要求:具有屬性:姓名、年齡、學(xué)歷、職位

7、具有行為:自我介紹9public class ZhuoYueTeacher4 private String name; / 姓名private int age; / 年齡private String education; / 學(xué)歷private String position; / 職位public String introduction() return 大家好!我是 + name + ,我今年” + age + 歲,學(xué)歷“ +education+,目前職位是+position;public String getName() return name;public void setName(S

8、tring myName) name = myName;/ 以下是其他屬性的setter、getter方法,此處省略為什么需要構(gòu)造方法2-2編寫一個測試類,要求:實例化一個教員對象,并對其初始化在控制臺輸出該教員的自我介紹10public class ZhuoYueTeacher4Test public static void main(String args) ZhuoYueTeacher4 teacher = new ZhuoYueTeacher4();teacher.setName(李芳);teacher.setAge(23);teacher.setEducation(本科);Syste

9、m.out.println(roduction();要簡化對象初始化的代碼,可以通過構(gòu)造方法來解決 大家好!我是李芳,我今年23歲,學(xué)歷本科,目前職位是nullZhuoYueTeacher4中有太多的屬性及對應(yīng)的setter方法,在初始化時,很容易就忘記了,有沒有可能簡化對象初始化的代碼?什么是構(gòu)造方法構(gòu)造方法負責(zé)對象成員的初始化工作,為實例變量賦予合適的初始值構(gòu)造方法必須滿足以下語法規(guī)則:1、方法名與類名相同2、沒有返回類型11public class ZhuoYueTeacher5 private String name; / 教員姓名/ 構(gòu)造方法public Zhu

10、oYueTeacher5() name = 無名氏;public class ZhuoYueTeacher5Test public static void main(String args) ZhuoYueTeacher5 teacher = new ZhuoYueTeacher5();使用new關(guān)鍵字調(diào)用構(gòu)造方法帶參數(shù)的構(gòu)造方法 2-1通過帶參數(shù)的構(gòu)造方法,顯式地為實例變量賦予初始值 12public class ZhuoYueTeacher6 private String name; / 教員姓名private int age; / 年齡private String education;

11、/ 學(xué)歷private String position; / 職位/ 帶參數(shù)的構(gòu)造方法public ZhuoYueTeacher6(String pName,int pAge,String pEducation,String pPosition) name = pName;age = pAge; / 可以增加對age等屬性的存取限制條件education = pEducation;position = pPosition;public String introduction() return 大家好!我是 + name + ,我今年 + age + 歲,學(xué)歷 + education + ,目前

12、職位是+position;帶參數(shù)的構(gòu)造方法 2-2通過調(diào)用帶參數(shù)的構(gòu)造方法,簡化對象初始化的代碼13public class ZhuoYueTeacher6Test public static void main(String args) ZhuoYueTeacher6 teacher = new ZhuoYueTeacher6(李芳“, 23, 本科, 咨詢師);System.out.println(roduction();創(chuàng)建對象時,一并完成了對象成員的初始化工作大家好!我是李芳,我今年23歲,學(xué)歷本科,目前職位是咨詢師生活中的方法重載14類方法方法參數(shù)方法實現(xiàn)吃吃米

13、上燈臺、偷吃、下不來、抓住、吃如果用代碼實現(xiàn),我們需要三個方法,這些方法的方法名稱相同,參數(shù)類型不同 方法重載的代碼示例 1方法重載并不陌生java.io.PrintStream類的println方法能夠打印數(shù)據(jù)并換行,根據(jù)數(shù)據(jù)類型的不同,有多種實現(xiàn)方式15public class Test public static void main(String args) int i = 0;char c = z;String str = hello;System.out.println(i);System.out.println(c);System.out.println(str);PrintStr

14、eamprintln(int)println(char)println(String)方法名相同,參數(shù)類型不同調(diào)用不同的println方法方法重載方法重載的代碼示例 2java.lang.Math類的max()方法能夠從兩個數(shù)字中取出最大值,它有多種實現(xiàn)方式運行時,Java虛擬機先判斷給定參數(shù)的類型,然后決定到底執(zhí)行哪個max()方法16Mathmax(int a,int b)max(float a,float b)max(long a,long b)max(double a,double b)public class Test public static void main(String a

15、rgs) Math.max(1,2);Math.max(1.0F,2.F);Math.max(1.0,2);方法重載構(gòu)造方法重載構(gòu)造方法也可以進行重載public class ZhuoYueTeacher7 private String name; / 教員姓名private int age; / 年齡private String position; / 職位public ZhuoYueTeacher7()public ZhuoYueTeacher7(String pName,int pAge,String pPosition) /重載的構(gòu)造方法name = pName;age = pAge;

16、 / 可以增加對age等屬性的存取限制條件position = pPosition;public String introduction() return 大家好!我是 + name + ,我今年 + age + 歲,學(xué)歷 + education + ,目前職位是+position;構(gòu)造方法重載 2-1構(gòu)造方法重載是方法重載的典型示例18public class ZhuoYueTeacher7 private String name; / 教員姓名private String school = “西洪校區(qū)”; / 所在校區(qū)public ZhuoYueTeacher7(String name)

17、 = name; /設(shè)定教員姓名public ZhuoYueTeacher7(String name, String school) = name; /設(shè)定教員姓名this.school = school; /設(shè)定教員的所在校區(qū)public String introduction() return 大家好!我是 + school + 的 + name ;構(gòu)造方法重載構(gòu)造方法重載 2-2通過調(diào)用不同的構(gòu)造方法來表達對象的多種初始化行為例如:默認情況下,教師來自西洪校區(qū),初始化時,只需提供教員姓名有時,需要提供所在校區(qū)名稱及教員姓名19public class

18、 ZhuoYueTeacher7Test public static void main(String args) ZhuoYueTeacher7 teacher1 = new ZhuoYueTeacher7(李芳);System.out.println(roduction();ZhuoYueTeacher7 teacher2 = new ZhuoYueTeacher7(張欣, 大學(xué)城校區(qū));System.out.println(roduction();大家好!我是西洪校區(qū)的李芳大家好!我是大學(xué)城校區(qū)的張欣作 業(yè)20編寫 賬戶類(Account):具有屬性:賬號ID(cardId)、余額(balance)、密碼(password

溫馨提示

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

最新文檔

評論

0/150

提交評論