歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

第六章--構(gòu)造方法

  • 資源ID:31723839       資源大?。?span id="51djf3p" class="font-tahoma">844KB        全文頁(yè)數(shù):27頁(yè)
  • 資源格式: PPT        下載積分:10積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

第六章--構(gòu)造方法

第六章 構(gòu)造方法及封裝本講內(nèi)容 包的概念和使用 this關(guān)鍵字 構(gòu)造方法及方法重載 封裝的實(shí)現(xiàn)及訪問(wèn)控制權(quán)限本章目標(biāo) 掌握構(gòu)造方法 掌握方法重載 掌握this關(guān)鍵字的用法。 掌握封裝的實(shí)現(xiàn)及成員的訪問(wèn)控制為什么需要包 生活案例 文檔分門別類,易于查找文檔分門別類,易于查找 不同內(nèi)容的文檔可以放在不同的不同內(nèi)容的文檔可以放在不同的 袋子中,擁有相同的名字,避免沖突袋子中,擁有相同的名字,避免沖突 易于管理易于管理 包 包解決類的同名問(wèn)題允許類組成較小的單元(類似允許類組成較小的單元(類似文件夾),易于找到和使用相文件夾),易于找到和使用相應(yīng)的文件應(yīng)的文件 防止命名沖突防止命名沖突 更好的保護(hù)類、屬更好的保護(hù)類、屬性和方法性和方法 A.java包包如何創(chuàng)建包package com.my.classandobject; /聲明包public class School / public String toString() / 包名包名 使用使用package聲明包,聲明包,以分號(hào)結(jié)尾以分號(hào)結(jié)尾如果有包的聲明,一定如果有包的聲明,一定作為作為Java源代碼的第一條源代碼的第一條語(yǔ)句語(yǔ)句 包命名規(guī)范 包名由小寫字母組成,不能以圓點(diǎn)開(kāi)頭或結(jié)尾 包名之前最好加上唯一的前綴,通常使用組織倒置的網(wǎng)絡(luò)域名。如:域名 包名后續(xù)部分依不同機(jī)構(gòu)內(nèi)部的規(guī)范不同而不同 package mypackage;package net.javagroup.mypackage;package net.javagroup.research.powerproject; 部門名部門名 項(xiàng)目名項(xiàng)目名 package .mypackage; 如何導(dǎo)入包 為了使用不在同一包中的類,需要在Java程序中使用import關(guān)鍵字導(dǎo)入這個(gè)類import java.util.*; /導(dǎo)入導(dǎo)入java.util包中所有類包中所有類import com.my.classandobject. School; /導(dǎo)入指定包中指定類導(dǎo)入指定包中指定類 關(guān)鍵字關(guān)鍵字import并不陌生并不陌生 import 包名包名. 類名;類名;1、系統(tǒng)包:、系統(tǒng)包:java.util2、自定義包:、自定義包:cn.jbit.classandobject*: 指包中的所有類指包中的所有類AccpSchool :指包中的:指包中的AccpSchool類類小結(jié) School.java位于com.my.classandobject包中,HelloTest.java位于demo包中,下面程序空缺部分需要填入代碼嗎?如果需要,是什么? /添加代碼添加代碼2/添加代碼添加代碼3public class HelloTest public static void main(String args)School center = new School(); center.showMessage(); /添加代碼添加代碼1public class School public void showMessage() System.out.println(“這是豐這是豐澤培訓(xùn)中心。澤培訓(xùn)中心。); package com.my.classandobject;package demo; import com.my.classandobject.*;聲明包的含義:聲明包的含義:聲明當(dāng)前類所處的位置聲明當(dāng)前類所處的位置導(dǎo)入包的含義:導(dǎo)入包的含義:聲明在當(dāng)前類中要使用到的聲明在當(dāng)前類中要使用到的別的類所處的位置別的類所處的位置用面向?qū)ο竺枋鍪澜鐝默F(xiàn)實(shí)中抽象出類分三步: 1. 找出它的種類 2. 找出它的屬性 3. 找出它的行為第一步:發(fā)現(xiàn)類 根據(jù)根據(jù)“對(duì)象對(duì)象”抽象出抽象出“類類” class Dog 名詞名詞 各個(gè)狗對(duì)象各個(gè)狗對(duì)象 用面向?qū)ο竺枋鍪澜绲诙剑喊l(fā)現(xiàn)類的屬性 狗類共有的狗類共有的特征特征: 1. 品種品種2. 年齡年齡3. 昵稱昵稱4. 健康情況健康情況5. 跟主人的親密度跟主人的親密度 class Dog String name = 旺財(cái)旺財(cái); / 昵稱昵稱 int health = 100; / 健康值健康值 int love = 0; / 親密度親密度 String strain = 拉布拉多犬拉布拉多犬; / 品種品種 只放我關(guān)心只放我關(guān)心的屬性的屬性名詞名詞用面向?qū)ο竺枋鍪澜绲谌剑喊l(fā)現(xiàn)類的方法 狗類共有的狗類共有的行為行為: 1. 跑跑2. 吠吠3. 輸出狗的信息輸出狗的信息 動(dòng)詞動(dòng)詞class Dog String name = 旺財(cái)旺財(cái); / 昵稱昵稱 int health = 100; / 健康值健康值 int love = 0; / 親密度親密度 String strain = 拉布拉多犬拉布拉多犬; ; / 品種品種 /* 輸出狗的信息輸出狗的信息 */ public void print() / 輸出狗信息的代碼輸出狗信息的代碼 只放我關(guān)心只放我關(guān)心的方法的方法用面向?qū)ο竺枋鍪澜珙悎D及畫法使用類圖描述類用于分析和設(shè)計(jì)“類”直觀、容易理解+ name:String+ health:int+ love:int+ strain:StringDog+ print( ) : void“+”:public“-”:private類名類名返回值返回值類型類型類型類型屬性名屬性名參數(shù):參數(shù):名字名字:類型類型,名字名字: :類型類型方法名方法名構(gòu)造方法 構(gòu)造方法public 構(gòu)造方法名構(gòu)造方法名( ) /初始化代碼初始化代碼與類名相同與類名相同沒(méi)有返回值沒(méi)有返回值類型類型public Penguin() name = qq; love = 20; sex = Q仔仔; System.out.println(執(zhí)行構(gòu)造方法執(zhí)行構(gòu)造方法);可以指定可以指定參數(shù)參數(shù) 構(gòu)造方法構(gòu)造方法定義:一個(gè)在創(chuàng)建對(duì)象時(shí)被自動(dòng)調(diào)用的特殊方法。構(gòu)造方法作用:為對(duì)象進(jìn)行初始化(成員變量)工作。方法重載方法重載,指同一個(gè)類中多個(gè)方法:方法名相同參數(shù)列表不同與返回值、訪問(wèn)修飾符無(wú)關(guān)與返回值、訪問(wèn)修飾符無(wú)關(guān) public Penguin() /代碼代碼 public Penguin(String name, int health, int love, String sex) /代碼代碼 示例示例2 System.out.println(45);System.out.println(true);System.out.println(狗在玩耍!狗在玩耍!); 示例示例1 this關(guān)鍵字1、對(duì)字段使用this 最經(jīng)常使用this關(guān)鍵字的情況,是在對(duì)象的一個(gè)字段被方法或構(gòu)造器的參數(shù)屏蔽時(shí),需要調(diào)用這個(gè)被屏蔽的字段的這種情況。如: this關(guān)鍵字2、對(duì)構(gòu)造器使用this 在一個(gè)構(gòu)造器中,還可以使用this關(guān)鍵字來(lái)調(diào)用同一個(gè)類中的另外的構(gòu)造器。這種做法稱之為“顯式構(gòu)造器調(diào)用”。如: 封裝一 含義1:把屬性和行為封裝在類中,把對(duì)象的全部屬性和全部行為結(jié)合在一起,形成一個(gè)不可分割的獨(dú)立單位(即對(duì)象)。 class Person String name; int age; public void eat() System.out.println(“eat with mouth.”); public void shout () System.out.println(“my age is ”+age); 封裝二 含義2:信息隱蔽,即盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié),對(duì)外形成一個(gè)邊界或者說(shuō)形成一道屏障,只保留有限的對(duì)外接口使之與外部發(fā)生聯(lián)系。把成員變量聲明為private,提供public的方法對(duì)其進(jìn)行訪問(wèn)或修改,隱藏類的實(shí)現(xiàn)細(xì)節(jié)。class Person private String name; private int age; public void setName(String name)this.name=name;public String getName()return name; 封裝的好處 封裝的好處隱藏類的隱藏類的實(shí)現(xiàn)細(xì)節(jié)實(shí)現(xiàn)細(xì)節(jié)只能通過(guò)規(guī)只能通過(guò)規(guī)定方法訪問(wèn)定方法訪問(wèn)數(shù)據(jù)數(shù)據(jù)方便加入控方便加入控制語(yǔ)句制語(yǔ)句方便修改實(shí)現(xiàn)方便修改實(shí)現(xiàn) 修改屬性的可見(jiàn)性修改屬性的可見(jiàn)性 在在getter/setter方法中方法中加入屬性控制語(yǔ)句加入屬性控制語(yǔ)句 創(chuàng)建創(chuàng)建getter/setter方法方法 class Dog private String name = 旺財(cái)旺財(cái); / 昵稱昵稱 private int health = 100; / 健康值健康值 private int love = 0; / 親密度親密度 private String strain = 拉布拉多犬拉布拉多犬; / 品種品種 public int getHealth() return health; public void setHealth (int health) if (health 100 | health 0) this.health = 40; System.out.println(健康值應(yīng)該在健康值應(yīng)該在0和和100之間,默認(rèn)值是之間,默認(rèn)值是40); else this.health = health; / 其它其它getter/setter方法方法封裝的實(shí)現(xiàn)封裝的步驟設(shè)為設(shè)為private用于屬性用于屬性的讀寫的讀寫 對(duì)屬性值的對(duì)屬性值的合法性合法性進(jìn)行進(jìn)行判斷判斷 this代表代表當(dāng)前對(duì)象當(dāng)前對(duì)象 1 1 2 2 2 2 3 3 - name:String- health:int- love:int- strain:StringDog+ print():void+ setHealth():void+ getHealth():String 控制類成員的訪問(wèn) 訪問(wèn)級(jí)別修飾符用來(lái)決定其他類是否能訪問(wèn)一個(gè)特定的字段或調(diào)用一個(gè)特定的方法。有兩種級(jí)別的訪問(wèn)控制: 最高級(jí)別:public,或包級(jí)私有(package-private,沒(méi)有指定修飾符),用于修飾類。 成員級(jí)別:public、private、protected,或者包級(jí)私有(package-private,沒(méi)有指定修飾符),用于修飾類中的成員。 訪問(wèn)級(jí)別修飾符類內(nèi)部同包內(nèi)子類全部public是是是是protected是是是否無(wú)修飾符是是否否private是否否否總結(jié)你學(xué)到了嗎? this關(guān)鍵字的用法 構(gòu)造方法及方法重載 封裝的實(shí)現(xiàn)及訪問(wèn)權(quán)限控制上機(jī)練習(xí) 1、創(chuàng)建一個(gè)商品類(product),商品有名稱,編號(hào),單價(jià)等屬性,使用封裝的概念封裝成員變量,創(chuàng)建一個(gè)測(cè)試類(Test)生成具體商品。 2、定義一個(gè)學(xué)生類(Student),有姓名、年齡、性別、專業(yè)四個(gè)屬性,使用封裝的概念封裝成員變量(setter、getter方法),使用方法重載增加兩個(gè)構(gòu)造方法,分別實(shí)現(xiàn): A、僅給姓名和年齡傳參賦值,其他兩個(gè)屬性取默認(rèn)值 B、給所有屬性傳參賦值以上所有給年齡賦值的方法(包括setter方法及構(gòu)造方法)中增加年齡限制約束(要求年齡不小于18歲,否則給出提示并取默認(rèn)值為18)上機(jī)練習(xí) 3、分析需求,用封裝方式設(shè)計(jì)類,畫出類圖 汽車銷售人員銷售汽車,可售款式有凱越、君威 每款汽車有款式和編號(hào),款式、編號(hào)不能修改 汽車銷售人員有姓名,姓名不能修改 銷售人員有兩種銷售方式: 按車輛銷售,每次一輛 按車型銷售(凱越),要同時(shí)告訴銷售人員購(gòu)買數(shù)量- type:String- id:StringExcelle+ Excelle(id:String,type:String)+ getType():String+ getId():String- type:String- id:StringRegal+ Regal(id:String,type:String)+ getType():String+ getId():String- name:StringSeller+ getName():String+ setName(name:String):void+ sell(car:Excelle):void+ sell(car:Regal):void+ sell(car:Excelle,num:int):void 凱越凱越 君威君威 銷售員銷售員

注意事項(xiàng)

本文(第六章--構(gòu)造方法)為本站會(huì)員(靚***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!