freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第二章類與對象的基本概念(存儲(chǔ)版)

2024-10-11 08:44上一頁面

下一頁面
  

【正文】 AVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 63 ? 運(yùn)行結(jié)果 Circle 1 fits inside Rectangle: true Circle 2 fits inside Rectangle: false 方法成員 (續(xù) ) —— 例 2_9運(yùn)行結(jié)果 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 64 ? 類方法 –也稱為靜態(tài)方法,表示類中對象的共有行為 –聲明時(shí)前面需加 static修飾符 –不能被聲明為抽象的 –類方法可以在不建立對象的情況下用類名直接調(diào)用,也可用類實(shí)例調(diào)用 方法成員 (續(xù) ) —— 類方法 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 65 ? 將攝氏溫度 (centigrade)轉(zhuǎn)換成華氏溫度 (fahrenheit) – 轉(zhuǎn)換公式為 fahrenheit = centigrade * 9 / 5 + 32 – 除了攝氏溫度值及公式中需要的常量值,此功能不依賴于具體的類實(shí)例的屬性值,因此可聲明為類方法 – 轉(zhuǎn)換方法 centigradeToFahrenheit放在類 Converter中 public class Converter { public static int centigradeToFahrenheit(int cent) { return (cent * 9 / 5 + 32)。 = 50?!奔啊? = 10。代碼如下: public void setRadius(int radius){ = radius。 } } 構(gòu)造方法 (續(xù) ) —— 例 2_12(使用默認(rèn)構(gòu)造方法) 對象初始化和回收 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 86 ? 運(yùn)行結(jié)果 ownerName=null accountNumber=0 balance= 對象初始化和回收 構(gòu)造方法 (續(xù) ) —— 例 2_12運(yùn)行結(jié)果 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 87 ? 自定義構(gòu)造方法與方法重載 –可在生成對象時(shí)給構(gòu)造方法傳送初始值,使用希望的值給對象初始化 –構(gòu)造方法可以被重載,構(gòu)造方法的重載和方法的重載一致 –一個(gè)類中有兩個(gè)及以上同名的方法,但參數(shù)表不同,這種情況就被稱為方法重載。如果在一個(gè)類中不存在無參的構(gòu)造方法,則要求其子類聲明時(shí)必須聲明構(gòu)造方法,否則在子類對象的初始化時(shí)會(huì)出錯(cuò) –在聲明構(gòu)造方法時(shí),好的聲明習(xí)慣是 ?不聲明構(gòu)造方法 ?如果聲明,至少聲明一個(gè)無參構(gòu)造方法 對象初始化和回收 構(gòu)造方法 (續(xù) ) —— 自定義無參構(gòu)造方法 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 90 ? 構(gòu)建一個(gè) Bush類,有兩個(gè)有參數(shù)的構(gòu)造方法 class Bush { Bush(int i) {} Bush(double d) {} } – 如果寫: new Bush()。 Tree() { prt(Planting a seedling)。 i 5。 accountNumber = initAccountNumber。 balance = initBal。 anAccount = new BankAccount(ZhangLi, 100023,0)。 + (hashCode()) ?下面的兩行代碼等價(jià) (anAccount)。 } } 應(yīng)用舉例 聲明 BankAccount類 —— JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 105 ? 測試結(jié)果 Here is the account: BankAccount372a1a Account name: ZhangLi Account number: 100023 Balance: $ 應(yīng)用舉例 聲明 BankAccount類 (續(xù) ) —— AccountTester測試結(jié)果 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 106 ? toString()方法 – 將對象的內(nèi)容轉(zhuǎn)換為字符串 – Java的所有類都有一個(gè)默認(rèn)的 toString()方法,其方法體如下: getClass().getName() + 39。 } public void setBalance(float newBalance) { balance = newBalance。 } public BankAccount(String initName, int initAccNum, float initBal) { ownerName = initName。 } public BankAccount(String initName, int initAccountNumber) { this(initName, initAccountNumber, )。 } static void prt(String s) { (s)。 import .*。 balance = 。 (accountNumber= + )。 } 類成員的訪問控制 (續(xù) ) —— set方法 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 80 ? 關(guān)鍵字 this的使用 – 如果形式參數(shù)名與實(shí)例變量名相同,則需要在實(shí)例變量名之前加 this關(guān)鍵字,否則系統(tǒng)會(huì)將實(shí)例變量當(dāng)成形式參數(shù)。 (Circle 2 has circumference + circum2)。 public double circumference() { return 2 * PI * radius。 (Circle 1 fits inside Rectangle: + (r))。 (2 * radius )。 (4)。 } public double area() { return PI * radius * radius。 Rectangle r = new Rectangle()。 int radius。 = 50。 ()。 private int y。 int radius。 = “100084。 String province。 streetName2 = BeiNong。 name1 = Zhang Li。 = 。 (x + + y)。 (x)。 } public void showTime() { (hour+:+minute+:+second)。 封裝 (續(xù) ) 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 14 ? 封裝的意義 –在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類封裝了數(shù)據(jù)及對數(shù)據(jù)的操作,是程序中的最小模塊 –禁止了外界直接操作類中的數(shù)據(jù),模塊與模塊之間只能通過嚴(yán)格控制的接口進(jìn)行交互,這使得模塊之間的偶合度大大降低 –保證了模塊具有較好的獨(dú)立性,程序維護(hù)和修改較為容易 封裝 (續(xù) ) 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 15 繼承 ? 繼承 –是指新的類可以獲得已有類(稱為超類、基類或父類)的屬性和行為,稱新類為已有類的派生類(也稱為子類) –在繼承過程中派生類繼承了基類的特性,包括方法和實(shí)例變量 –派生類也可修改繼承的方法或增加新的方法,使之更適合特殊的需要 –有助于解決軟件的可重用性問題,使程序結(jié)構(gòu)清晰,降低了編碼和維護(hù)的工作量 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 16 ? 單繼承 –任何一個(gè)派生類都只有單一的直接父類 –類層次結(jié)構(gòu)為樹狀結(jié)構(gòu) ? 多繼承 –一個(gè)類可以有一個(gè)以上的直接父類 –類層次結(jié)構(gòu)為網(wǎng)狀結(jié)構(gòu),設(shè)計(jì)及實(shí)現(xiàn)比較復(fù)雜 ? Java語言僅支持單繼承 繼承 (續(xù) ) 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 17 多態(tài) ? 多態(tài) –一個(gè)程序中同名的不同方法共存 –主要通過子類對父類方法的覆蓋來實(shí)現(xiàn) –不同類的對象可以響應(yīng)同名的消息 (方法 ) ,具體的實(shí)現(xiàn)方法卻不同 –使語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好地解決了應(yīng)用程序方法同名問題 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 18 ? 類與對象 –在程序中,對象是通過一種抽象數(shù)據(jù)類型來描述的,這種抽象數(shù)據(jù)類型稱為類(Class) –一個(gè)類是對一類對象的描述。 int Second。 抽象 (續(xù) ) 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 11 ?例: –人 ?數(shù)據(jù) (屬性 ) –char *name。 int minute 。 對象的聲明與引用 (續(xù) ) 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 26 數(shù)據(jù)成員 ? 數(shù)據(jù)成員 –表示 Java類的狀態(tài) –聲明數(shù)據(jù)成員必須給出變量名及其所屬的類型,同時(shí)還可以指定其他特性 –在一個(gè)類中成員變量名是唯一的 –數(shù)據(jù)成員的類型可以是 Java中任意的數(shù)據(jù)類型(簡單類型,類,接口,數(shù)組 ) –分為實(shí)例變量和類變量 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 27 – 聲明格式 [public | protected | private] [static][ final][transient] [volatile] 變量數(shù)據(jù)類型 變量名 1[=變量初值 ], 變量名 2[=變量初值 ], … 。 double height = 。 x = new Circle()。 int gateNumber1, gateNumber2。 city1 = Beijing。 postalCode2 = 102206。 = “Zhang Li。 = “BeiNong。 ()。 = y。 } } 數(shù)據(jù)成員 (續(xù) ) —— Point類測試 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 44 ? 測試結(jié)果 1 2 true 2 數(shù)據(jù)成員 (續(xù) ) —— Point類測試結(jié)果 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 45 ? 實(shí)例變量和類變量都可被聲明為 final ? final實(shí)例變量必須在每個(gè)構(gòu)造方法結(jié)束之前賦初值,以保證使用之前會(huì)被初始化 ? final類變量必須在聲明的同時(shí)初始化 數(shù)據(jù)成員 (續(xù) ) —— final修飾符 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 46 方法成員 ? 方法成員 –定義類的行為 ?一個(gè)對象能夠做的事情 ?我們能夠從一個(gè)對象取得的信息 –可以沒有,也可以有多個(gè);一旦在類中聲明了方法,它就成為了類聲明的一部分 –分為實(shí)例方法和類方法 類與對象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 47 –聲明格式 [public | protected | private] [static][ final][abstract] [native] [synchronized] 返回類型 方法名 ([參數(shù)列表 ]) [throws exceptionList] { 方法體 } 方法成員 (續(xù) ) —— 聲明格式 類
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1