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

正文內(nèi)容

[計(jì)算機(jī)]軟件工程與實(shí)踐-閱讀頁

2025-03-08 21:14本頁面
  

【正文】 具體事物一般化的過程,即對具有特定屬性的對象進(jìn)行概括,從中歸納出這一類對象的共性,并從共同性的角度描述共有的狀態(tài)和行為特征。數(shù)據(jù)抽象用來描述某類對象的共同狀態(tài);方法抽象用來描述某類對象的共同行為。它可以是普通數(shù)據(jù)類型的變量,也可以是其他類的對象類型變量。分別介紹如下。它必須在類內(nèi)、任何方法外被定義,一般位于整個(gè)類語句體的最前端。實(shí)例變量的使用范圍是整個(gè)類,也就是說可以在類中的任意方法內(nèi)被使用。 域和方法 ?域 變量 name、 age、 gender、 height和 weight分別表示人的姓名、年齡、性別、身高和體重。如圖所示為創(chuàng)建了 3個(gè) People類對象的演示效果圖。靜態(tài)變量是類的變量,不屬于任何一個(gè)類的具體對象實(shí)例。也就是說,不論一個(gè)類具有多少個(gè)對象,靜態(tài)變量只有一個(gè),任何一個(gè)類的對象訪問它,取得的都是相同的數(shù)值。靜態(tài)變量可以通過類名直接訪問,也可以通過對象來調(diào)用。 域和方法 ?域 2.靜態(tài)變量 靜態(tài)變量與實(shí)例變量雖然都是在類內(nèi)、類中方法之外定義的變量,但是它們有著本質(zhì)的不同。每個(gè)類的對象都具有一套屬于自己的、在類中定義的實(shí)例變量。 ( 2)靜態(tài)變量:使用 static修飾符。類和其對象都可以修改或者訪問靜態(tài)變量。這種做法的最主要目的是使程序更加清楚,利于其他人閱讀、理解。通常,我們在 final前面再加上修飾符 static,那么這個(gè)變量的實(shí)際含義就是常量。 final修飾符可以修飾局部變量,也必須且只能賦值一次,它的取值在變量存在期間不會改變。這種變量可以同時(shí)被多個(gè)線程控制和修改變量值。在創(chuàng)建對象的同時(shí),調(diào)用這個(gè)對象所屬類的構(gòu)造方法來完成對象實(shí)例變量的初始化。 一般來說,構(gòu)造方法具有以下幾個(gè)的特點(diǎn): 域和方法 ?構(gòu)造方法 ( 1)構(gòu)造方法的方法名與其所在類的名稱相同。 ( 3)構(gòu)造方法的修飾符總是 public。 例如,可以為 People類增加一個(gè)如下所示的構(gòu)造方法 public People(){ name = 沈昕 。 gender = 39。 height = 。 } 在上面的構(gòu)造方法中,一共給 5個(gè)實(shí)例變量賦了初值。 域和方法 ?構(gòu)造方法 如果希望在創(chuàng)建對象時(shí),其實(shí)例變量具有不同的初值,可以通過傳遞參數(shù)并將參數(shù)值賦給實(shí)例變量的方法來實(shí)現(xiàn)。 age = initAge。 height = initHeight。 } 一般情況下,一個(gè)類中可以有一個(gè)或者多個(gè)構(gòu)造方法,它們的方法名稱相同但是參數(shù)不同,相當(dāng)于方法的重載。 域和方法 ?方法 除了構(gòu)造方法外,類中還有許多描述類行為的方法,這些方法可以分為實(shí)例方法和靜態(tài)方法兩種。實(shí)例方法用來定義某個(gè)類的行為,也就是說類的對象所能進(jìn)行的操作。如果希望實(shí)例方法可以在類之外被訪問,則使用 public;如果希望實(shí)例方法只在類內(nèi)被訪問,則使用 private。 public void setName( String newName ) { name = newName。因?yàn)殪o態(tài)方法屬于類本身,所以只要定義了類,它的靜態(tài)方法就存在,就可以直接使用類來調(diào)用。 ( 2)靜態(tài)方法不能操縱和處理屬于某個(gè)對象的實(shí)例變量,而只能處理屬于整個(gè)類的靜態(tài)變量,也就是說靜態(tài)方法只能處理靜態(tài)變量或者調(diào)用靜態(tài)方法。 域和方法 ?方法 2.靜態(tài)方法 ( 4)需要調(diào)用某個(gè)靜態(tài)方法時(shí),可以使用其所屬的類的名稱直接調(diào)用,也可以用類的某個(gè)具體的對象名調(diào)用,其形式為: 類名 .靜態(tài)方法名 。 Math類中的 abs()、 max()等方法,以及 Integer類中的parseInt()方法等就是靜態(tài)方法,直接用類名進(jìn)行訪問。 方法的使用 ?調(diào)用方法 在完成類程序的編寫后,就可以在其他程序中創(chuàng)建該類的對象,并調(diào)用該類的實(shí)例方法。 1.調(diào)用構(gòu)造方法 如果在定義類對象時(shí)沒有定義任何構(gòu)造方法,系統(tǒng)會自動(dòng)產(chǎn)生一個(gè)構(gòu)造方法,無需定義,稱為默認(rèn)構(gòu)造方法。 例如,如果上面的 People類沒有定義構(gòu)造方法,則系統(tǒng)產(chǎn)生的默認(rèn)構(gòu)造方法如下: People(){ } 方法的使用 ?調(diào)用方法 2.調(diào)用實(shí)例方法 在調(diào)用某個(gè)類中的實(shí)例方法之前,要先創(chuàng)建該類的對象,然后通過該對象并且使用符號“ .” 來調(diào)用所要訪問的實(shí)例方法。 People p1 = new People()。 其中,第一條語句是調(diào)用 People類的第一種構(gòu)造方法來創(chuàng)建對象p1,第二條語句是通過對象 p1調(diào)用 setName()方法來改變對象 p1實(shí)例變量 name的值。 } } 方法的使用 ?訪問方法 1. 修飾符 public和 private 對于類中的實(shí)例變量和實(shí)例方法,一般使用修飾符 public或者private。大多數(shù)情況下,我們定義實(shí)例方法為 public。大多數(shù)情況下,我們定義實(shí)例變量為 private。如果實(shí)例變量的修飾符為 private,則必須在其所在類中添加一個(gè)實(shí)例方法來修改變量的值。但是為什么大多數(shù)程序都將實(shí)例變量定義為private,然后再通過實(shí)例方法來改變其值呢? 方法的使用 ?訪問方法 1. 修飾符 public和 private class Rectangle { private int width。 public void setWidth( int newWidth ){ if ( newWidth 0 ) width = newWidth。 } public void setLength( int newLength ){ if ( newLength 0 ) length = newLength。 } } 方法的使用 ?訪問方法 protected 2.訪問方法 訪問方法( Accessor Method)是類中一種可以修改和獲取private實(shí)例變量值的實(shí)例方法。比如,setName()表示修改實(shí)例變量 name的值; getHeight()表示獲取實(shí)例變量 height的值。 在編寫 Rectangle類時(shí),并不是必須具有以上所有的訪問方法,可以根據(jù)用戶的需求范圍來確定添加哪些訪問方法。此外,這些方法的內(nèi)容并不是固定的,以上所給出的只是其最簡單的語句體。例如,前面介紹的 setWidth()方法和 setLength()方法。 當(dāng)調(diào)用某個(gè)重載的方法時(shí) , Java會根據(jù)參數(shù)的類型 、 個(gè)數(shù)和順序的不同 , 調(diào)用與之相符的方法 。 再比如 , 前面介紹的構(gòu)造方法 , 也是方法名稱相同但參數(shù)不同 。 方法的使用 ?this 1.關(guān)鍵字 this的作用 當(dāng)需要在類的實(shí)例方法中,指向調(diào)用該實(shí)例的對象時(shí),可以使用關(guān)鍵字 this。 例如: Rectangle類中的 setPosition()實(shí)例方法可以被寫成如下形式: public void setPosition( int newX, int newY ){ = newX。 } 其中, this表示當(dāng)前調(diào)用該方法的 Rectangle類對象。 則在執(zhí)行 setPosition()方法時(shí),關(guān)鍵字 this代表調(diào)用該方法的對象變量 r1。 則在執(zhí)行 setPosition()方法時(shí),關(guān)鍵字 this代表調(diào)用該方法的對象變量 r2。 在 Java語言中,系統(tǒng)會自動(dòng)在調(diào)用所有實(shí)例變量和實(shí)例方法時(shí)與this關(guān)鍵字聯(lián)系在一起,因此,使用 this在某些情況下是多余的。 this在方法體中用來指向調(diào)用當(dāng)前正在執(zhí)行方法的對象。 public class People { private String name。 private char gender。 private doublet weight。 = age。 = height。 } ? ? } 方法的使用 ?this 3.在構(gòu)造方法中使用 this調(diào)用另一個(gè)構(gòu)造方法 關(guān)鍵字 this還有一個(gè)用法,就是在構(gòu)造方法的第一條語句使用 this語句,它的形式是 this(參數(shù) ),這個(gè)構(gòu)造方法就會調(diào)用同一個(gè)類的另一個(gè)構(gòu)造方法。如果在應(yīng)用程序中使用 People p1 = new Person( 沈昕 , 26, 39。 )。 要注意的是,由修飾符 static修飾的靜態(tài)變量不能使用this來調(diào)用。 } 繼承和多態(tài) ?類繼承的概念 類的繼承( Inheritance)是面向?qū)ο蟪绦蛟O(shè)計(jì)中的一個(gè)重要特色。被繼承的類稱為父類或者超類(Superclass),繼承后產(chǎn)生的類成為子類或者派生類( Subclass)。新編寫的類如果繼承了已有的類,則除了具有父類中的所有變量和方法外,還要再添加自己本身特有的變量或者方法。如果對新建的類再進(jìn)行修改擴(kuò)充,可以再派生出新的類。 繼承和多態(tài) ?類繼承的概念 不斷派生新類的過程是一個(gè)描述現(xiàn)實(shí)世界的層次關(guān)系的過程。 例如:我們將在現(xiàn)實(shí)世界中的事物看成一個(gè)“物質(zhì)對象”類,那么其中一部分具有生命的事物可以看成是“動(dòng)物”類。在“哺乳動(dòng)物”類中又有“人”類。 在 Java語言中,每一個(gè)類只可以有一個(gè)父類,不允許有多個(gè)父類。父類含有其所有子類共同的內(nèi)容,每一個(gè)子類各自具有與其他子類不相同的內(nèi)容。例如:“狗”類有尾巴,而“人”類使用語言。 通過在類的聲明中加入 extends關(guān)鍵字來創(chuàng)建一個(gè)類的子類,其形式如下: [修飾符 ] class 子類類名 extends 父類類名 { 語句體 } 把子類定義為父類的直接子類,如果父類又是某個(gè)類的子類,則子類同時(shí)也是該類的間接子類。 如果沒有使用 extends,則該類為 。子類不能繼承父類中訪問權(quán)限為 private的實(shí)例變量和實(shí)例方法。比如, B類繼承了 A類,而 C類又繼承了 B類,則 C類包含 A類和 B類的所有內(nèi)容。 super指的是父類,在類的繼承中有重要的作用, super的常用方法如下。因?yàn)樽宇愔械膶?shí)例變量或者實(shí)例方法名具有相對高的優(yōu)先級,所以子類中的同名實(shí)例變量和實(shí)例方法就隱藏了父類的實(shí)例變量或者實(shí)例方法。 2.使用父類的構(gòu)造方法 如果想要使用父類的構(gòu)造方法,則應(yīng)當(dāng)使用下面的語句形式 super( 參數(shù) )。 public Student( String year, String name, int number ) { super( year, name )。 } 其中, super( year, name )。這樣的用法一般在子類構(gòu)造方法的參數(shù)多于父類構(gòu)造方法的參數(shù)時(shí)使用,其目的是簡化構(gòu)造方法的語句體。此外,在使用 super()方法時(shí),該語句必須是構(gòu)造方法的第一條語句。除了方法的重載,子類對父類方法的覆蓋或者子類對抽象父類中的抽象方法的具體定義也是類多態(tài)的一種表現(xiàn)形式。在執(zhí)行程序時(shí),將執(zhí)行子類的方法,而覆蓋父類的方法。 } 在子類中有方法名和參數(shù)都完全相同,但是語句體內(nèi)容不同的方法 public double sum( double a, double b ) { return a * b。 接口 ?接口的概念 Java語言中,一個(gè)子類只可以繼承一個(gè)直接父類,這被稱為單一繼承。因此, Java語言提供了接口功能,來實(shí)現(xiàn)多重繼承。 在駕駛汽車時(shí),駕駛員只需要知道使用離合器來換檔、使用加速器和車閘來調(diào)整行使速度即可,不需要知道這些操作的具體執(zhí)行過程。例如:我們在調(diào)用 int、Math和 String等類的方法時(shí),并不需要知道它們的實(shí)現(xiàn)過程。也就是說,在開發(fā)程序時(shí),一方面,我們可以在不了解某個(gè)對象的具體實(shí)現(xiàn)細(xì)節(jié)的情況下,使用該對象;另一方面,我們可以在不知道對象將被如何應(yīng)用的情況下,編寫其功能的具體實(shí)現(xiàn)細(xì)節(jié)。 接口 ?接口的概念 抽象的數(shù)據(jù)結(jié)構(gòu)只定義對象所支持的操作,而不具體描述這些操作是如何實(shí)現(xiàn)的。因此,在接口中,所有的方法均為抽象方法。這個(gè)功能的真正實(shí)現(xiàn)是在應(yīng)用這個(gè)接口的類中完成的,要由類來具體定義接口中各個(gè)抽象方法的語句體。 總的來說, Java語言通過接口使得處于不同層次、互不相關(guān)的類可以具有相同的行為。這樣就可以既保留類的單一繼承所帶來的程序簡潔和層次清晰等方面的好處,還可以再擁有多個(gè)接口提供的強(qiáng)大功能。 public abstract 方法類型 方法名 ( 參數(shù) )。如果沒有使用任何訪問控制修飾符,則表
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1