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

正文內(nèi)容

使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)-在線瀏覽

2024-11-04 00:20本頁(yè)面
  

【正文】 結(jié)果?public class Pass{static int j = 20。Pass p = new Pass()。(“i=”+i)。}public void amethod(int x){x*=2。} }答:打印結(jié)果是i=10 j=40其中“int x”是傳參,作用域僅在amethod之中。if(i){(“hello”)。boolean b2=true。}(c)int i=1。if(i==1||j==i){(“ok”)。int j=2。|j==i){(“ok”)。(a)中int不能作為boolean出現(xiàn),(d)中不能出現(xiàn)amp。,將得到什么打印結(jié)果?(11)。(21)。temp %= 2。?假如能編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?if(5 amp。amp。答:int型不能作為boolean型出現(xiàn)。boolean b1 = false。amp。} else {(“Not equal!”+output)。boolean b1 = false。((output+=10)==20)){(“We are equal”+output)。}答:Not equal!20:String s1=new String(“Hello”)。String s3=new String()。(b)s3=s1s2。s2。amp。答:(a)是合法操作?!?、“amp?!钡龋┒疾恢С諷tring類型的操作元。int j = 0。if(i k)if(i == j)(i)。else(k)。switch(i){default:(“default”)。break。case 2:(“two”)。(a)int i。i(b)int i,j。i0。for(i=0, k=9。i++, k){}(d)int i,j。j=10。編譯不通過(guò)。(d)分號(hào)只能有2個(gè)。switch(i){default:(“default”)。break。case 2:(“two”)。switch(x){case 1。}(b)long x=1。(“Got a 1”)。switch(x){case 1/1。}(d)int x=1。switch(c){case x。}(e)short x=1。(“Got a 1”)。switch(x){case 1,2,3。}答:只有(c)是合法的。a(“a=”+a)。one:while(x{two:(++x)。}答:不能通過(guò)編譯。OOP 的一條基本原則是計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或?qū)ο蠼M合而成。為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)對(duì)象都能夠接收信息、處理數(shù)據(jù)和向其它對(duì)象發(fā)送信息。封裝是隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開接口,控制在程序中屬性的讀和修改的訪問(wèn)級(jí)別;將抽象得到的數(shù)據(jù)和行為(或功能)相結(jié)合,形成一個(gè)有機(jī)的整體,也就是將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進(jìn)行有機(jī)的結(jié)合,形成“類”,其中數(shù)據(jù)和函數(shù)都是類的成員。任何類都可以從另外一個(gè)類繼承,即這個(gè)類擁有它所繼承類的所有成員。C 只支持單繼承,不支持多重繼承,即在C 中一次只允許繼承一個(gè)類,不能同時(shí)繼承多個(gè)類。多態(tài)是同一個(gè)類在不同場(chǎng)合下表現(xiàn)出不同的行為特征。抽象方法是一個(gè)未實(shí)現(xiàn)的方法,使用abstract關(guān)鍵字修飾,含有抽象方法的類必然是抽象類。簡(jiǎn)單工廠模式用于在調(diào)用者不知道對(duì)象屬于哪個(gè)自雷的情況下,創(chuàng)建不同的對(duì)象。首先我是從學(xué)習(xí)Java編程開始接觸OOP(面向?qū)ο缶幊?,剛開始使用Java編寫程序的時(shí)候感覺(jué)很別扭,因?yàn)槲以缫粤?xí)慣用C來(lái)編寫程序,很欣賞C的簡(jiǎn)潔性和高效性,喜歡C簡(jiǎn)練而表達(dá)能力豐富的風(fēng)格,特別忍受不了Java運(yùn)行起來(lái)慢吞吞的速度,相對(duì)冗長(zhǎng)的代碼,而且一個(gè)很簡(jiǎn)單的事情,要寫好多類,一個(gè)類調(diào)用一個(gè)類,心里的抵觸情緒很強(qiáng)。舉個(gè)例子,要發(fā)廣告郵件,廣告郵件列表存在數(shù)據(jù)庫(kù)里面。然后考慮用Java來(lái)實(shí)現(xiàn),既然是OOP,就不能什么代碼都塞到main過(guò)程里面,于是就設(shè)計(jì)了三個(gè)類:一個(gè)類是負(fù)責(zé)讀取數(shù)據(jù)庫(kù),取郵件地址,調(diào)用qmail的sendmail命令發(fā)送; 一個(gè)類是讀郵件內(nèi)容,MIME編碼成HTML格式的,再加上郵件頭;一個(gè)主類負(fù)責(zé)從命令讀參數(shù),處理命令行參數(shù),調(diào)用發(fā)的類。仔細(xì)的分析一下,就會(huì)發(fā)現(xiàn)這樣的設(shè)計(jì)完全是從程序員實(shí)現(xiàn)程序功能的角度來(lái)設(shè)計(jì)的,或者說(shuō),設(shè)計(jì)類的時(shí)候,是自低向上的,從機(jī)器的角度到現(xiàn)實(shí)世界的角度來(lái)分析問(wèn)題的。這樣的分析方法其實(shí)是不適用于Java這樣面向?qū)ο蟮木幊陶Z(yǔ)言,因?yàn)?,如果改用C語(yǔ)言,封裝兩個(gè)C函數(shù),都會(huì)比Java實(shí)現(xiàn)起來(lái)輕松的多,邏輯上也清楚的多。舉一個(gè)非常簡(jiǎn)單的例子:假使現(xiàn)在需要寫一個(gè)網(wǎng)頁(yè)計(jì)數(shù)器,客戶訪問(wèn)一次頁(yè)面,網(wǎng)頁(yè)計(jì)數(shù)器加1,計(jì)數(shù)器是這樣來(lái)訪問(wèn)的后臺(tái)有一個(gè)數(shù)據(jù)庫(kù)表,保存每個(gè)id(一個(gè)id對(duì)應(yīng)一個(gè)被統(tǒng)計(jì)訪問(wèn)次數(shù)的頁(yè)面)的計(jì)數(shù)器當(dāng)前值,請(qǐng)求頁(yè)面一次,對(duì)應(yīng)id的計(jì)數(shù)器的字段加1(這里我們忽略并發(fā)更新數(shù)據(jù)庫(kù)表,出現(xiàn)的表鎖定的問(wèn)題)?,F(xiàn)在假設(shè)一個(gè)沒(méi)有程序設(shè)計(jì)經(jīng)驗(yàn)的人,他會(huì)怎樣來(lái)思考這個(gè)問(wèn)題的呢?他會(huì)提出什么樣的需求呢?他很可能會(huì)這樣想:我需要有一個(gè)計(jì)數(shù)器,這個(gè)計(jì)數(shù)器應(yīng)該有這樣的功能,刷新一次頁(yè)面,訪問(wèn)量就會(huì)加1,另外最好還有一個(gè)計(jì)數(shù)器清0的功能,當(dāng)然計(jì)數(shù)器如果有一個(gè)可以設(shè)為任意值的功能的話,我就可以作弊了。按照這樣的思路(請(qǐng)注意,他的思路其實(shí)就是我們平時(shí)在生活中習(xí)慣的思維方式),我們知道需要有一個(gè)計(jì)數(shù)器類 Counter,有一個(gè)必須的和兩個(gè)可選的方法:getCount()// 取計(jì)數(shù)器值方法resetCounter()// 計(jì)數(shù)器清0方法setCount()// 設(shè)計(jì)數(shù)器為相應(yīng)的值方法把Counter類完整的定義如下:public class Counter {public int getCount(int id){}public void resetCounter(int id){}public void setCount(int id, int currentCount){}}解決問(wèn)題的框架已經(jīng)有了,來(lái)看一下如何使用Counter。// 獲得計(jì)數(shù)器int currentCount = (id)。從上面的例子中看到,面向?qū)ο蟮乃季S方法其實(shí)就是我們?cè)诂F(xiàn)實(shí)生活中習(xí)慣的思維方式,是從人類考慮問(wèn)題的角度出發(fā),把人類解決問(wèn)題的思維方式逐步翻譯成程序能夠理解的思維方式的過(guò)程,在這個(gè)翻譯的過(guò)程中,軟件也就逐步被設(shè)計(jì)好了。學(xué)習(xí)JDBC編程的經(jīng)典錯(cuò)誤問(wèn)法是:“我怎樣封裝對(duì)數(shù)據(jù)庫(kù)的select操作?”面向?qū)ο蟮脑O(shè)計(jì)是基于解決業(yè)務(wù)問(wèn)題的設(shè)計(jì),而不是基于具體編程技術(shù)的設(shè)計(jì)。回過(guò)頭看上面那個(gè)發(fā)廣告郵件的例子,應(yīng)該如何應(yīng)用面向?qū)ο蟮乃季S方法呢?對(duì)于一個(gè)郵件來(lái)說(shuō),有郵件頭,郵件體,和郵件地址這三個(gè)屬性,發(fā)送郵件,需要一個(gè)發(fā)送的方法,另外還需要一個(gè)能把所有郵件地址列出來(lái)的方法。private String body。public JunkMain(){ // 默認(rèn)的類構(gòu)造器// 從外部配置文件讀郵件頭和郵件體=...。}public static boolean sendMail(String address){// 調(diào)用qmail,發(fā)送}public static Collection listAllMail(){// 訪問(wèn)數(shù)據(jù)庫(kù),返回一個(gè)郵件地址集合}}當(dāng)把JunkMail設(shè)計(jì)好了以后,再調(diào)用JunkMail類完成郵件的發(fā)送,將是非常輕松的事情。在面向?qū)ο蟮能浖治龊驮O(shè)計(jì)的時(shí)候,要提醒自己,不要一上來(lái)就去想程序代碼的實(shí)現(xiàn),應(yīng)該拋開具體編程語(yǔ)言的束縛,集中精力分析我們要實(shí)現(xiàn)的軟件的業(yè)務(wù)邏輯,分析軟件的業(yè)務(wù)流程,思考應(yīng)該如何去描述和實(shí)現(xiàn)軟件的業(yè)務(wù)。但是在設(shè)計(jì)過(guò)程中,心里卻往往在擔(dān)心,如果我完全不去考慮程序代碼的實(shí)現(xiàn)的話,那么我怎么知道我的設(shè)計(jì)一定合理呢?我怎么知道我設(shè)計(jì)的類、接口一定可以實(shí)現(xiàn)呢?所以經(jīng)??梢钥吹降默F(xiàn)象就是:在設(shè)計(jì)過(guò)程中,雖然知道不能過(guò)早考慮代碼實(shí)現(xiàn),但是每設(shè)計(jì)一個(gè)類,一個(gè)接口,心里都要不知不覺(jué)的用自己熟悉的編程語(yǔ)言大概的評(píng)估一下,看看能否編出來(lái),因此,一不小心,就會(huì)又回到按照程序功能實(shí)現(xiàn)的思路進(jìn)行設(shè)計(jì)的老路上去了。比如說(shuō)需要把
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1