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

正文內(nèi)容

java2面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)類ppt(已修改)

2024-10-31 04:51 本頁(yè)面
 

【正文】 第 4章 類 (時(shí)間: 4次課, 8學(xué)時(shí)) 第 4章 類 ? 教學(xué)提示: 培養(yǎng)面向?qū)ο蟮某绦蛟O(shè)計(jì)思維方式對(duì)掌握 Java語(yǔ)言具有十分重要的作用 。 ? 本章主要介紹: 利用 Java語(yǔ)言進(jìn)行面向?qū)ο缶幊痰南到y(tǒng)分析和程序設(shè)計(jì)方法 。 第 4章 類 ? 面向?qū)ο缶幊? ? 類的描述 ? 類的成員變量 ? 類的成員方法 ? 類的繼承 ? this和 super變量 ? 抽象類 ? 內(nèi)部類 ? Java程序的執(zhí)行 ? 課后練習(xí) 面向?qū)ο缶幊? ? 面向過程 ? 面向?qū)ο? 面向?qū)ο缶幊? ? 在介紹類之前,需要首先了解面向?qū)ο缶幊痰幕舅枷?,下面將分別介紹面向過程和面向?qū)ο蟮奶攸c(diǎn),從中了解面向?qū)ο缶幊痰膬?yōu)點(diǎn)。 面向過程 ? 面向過程的程序設(shè)計(jì)思想在解決問題的時(shí)候,從問題的每個(gè)細(xì)節(jié)入手來展開系統(tǒng)流程,比較適用于解決簡(jiǎn)單的問題。“面向過程”是一種以事件為中心的編程思想。它并不關(guān)心整體,而是關(guān)心整體中的每個(gè)細(xì)節(jié)。 面向?qū)ο? ? 面向?qū)ο蟮某绦蛟O(shè)計(jì) (Object Oriental Programming, OOP)思想是最近十年發(fā)展起來的程序設(shè)計(jì)模式,其目標(biāo)是將軟件系統(tǒng)待處理問題或者事務(wù)抽象為對(duì)象 (Object),由于對(duì)象本身具有一定的特征和行為,因此可以通過對(duì)象間的消息傳遞的方式驅(qū)動(dòng)對(duì)象的動(dòng)作,進(jìn)而實(shí)現(xiàn)軟件系統(tǒng)的功能。 面向?qū)ο? ? 面向?qū)ο蠓椒ㄌ峁┝嗽S多新的概念,如對(duì)象、方法、消息、類、實(shí)例、繼承性、封裝性等。這些概念是理解和使用面向?qū)ο蠓椒ǖ幕A(chǔ)和關(guān)鍵。 ? 1. 對(duì)象、方法、消息 ? 對(duì)象 (Object),在客觀世界中指每一客觀實(shí)體,如一本書,一臺(tái)機(jī)器等。 ? 對(duì)象的數(shù)據(jù)結(jié)構(gòu)特征使用屬性 (名 )表示,數(shù)據(jù)的屬性值則描述對(duì)象的狀態(tài),如書的目錄、正文等。對(duì)象的數(shù)據(jù)操作 (也叫方法、處理 ),如增加、刪除、查找數(shù)據(jù)等,可以操縱對(duì)象數(shù)據(jù),改變對(duì)象的狀態(tài)。 ? 消息 (Message)是用來請(qǐng)求對(duì)象執(zhí)行某一操作或回答某些信息的要求。 面向?qū)ο? ? 2. 類、實(shí)例、繼承性 ? 在客觀世界中,類是許多具有相同特征事物的總稱,如字典、期刊、著作等統(tǒng)一歸類為書。從對(duì)象角度看,具有共同屬性、共同操作性質(zhì)的對(duì)象的集合就是類 (Class)。在類層次結(jié)構(gòu)中,相對(duì)上層的是超類,相對(duì)下層的叫子類。 ? 繼承性 (Inheritance)指對(duì)象繼承其所屬類定義的數(shù)據(jù)和數(shù)據(jù)操作,或者子類繼承其所屬超類定義的數(shù)據(jù)和數(shù)據(jù)操作。 面向?qū)ο? ? 3. 抽象與封裝 ? (1) 抽象 ? 面向?qū)ο蟪绦蛟O(shè)計(jì)具有抽象、封裝、繼承和多態(tài) 4個(gè)特點(diǎn)。抽象去掉了被研究對(duì)象中與主旨無關(guān)的次要部分,而僅僅抽取出與研究工作有關(guān)的實(shí)質(zhì)性的內(nèi)容加以考慮。抽象有兩類:一類是過程抽象,另一類是數(shù)據(jù)抽象。 ? 面向?qū)ο蟪绦蛟O(shè)計(jì)強(qiáng)調(diào)數(shù)據(jù)抽象,數(shù)據(jù)抽象把系統(tǒng)中需要處理的數(shù)據(jù)和這些數(shù)據(jù)上的操作結(jié)合在一起,根據(jù)功能、性質(zhì)、作用等因素抽象成不同的抽象數(shù)據(jù)類型。每個(gè)抽象數(shù)據(jù)類型既包含數(shù)據(jù),又包含針對(duì)這些數(shù)據(jù)的操作,是相對(duì)于過程抽象更為嚴(yán)格合理的抽象方法。 面向?qū)ο? ? (2) 封裝 ? 封裝就是利用抽象數(shù)據(jù)類型把數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,數(shù)據(jù)被保護(hù)在抽象數(shù)據(jù)類型的內(nèi)部,系統(tǒng)的其他部分只有通過數(shù)據(jù)的操作,才能夠與這個(gè)抽象數(shù)據(jù)類型進(jìn)行交互。封裝包含兩層含義。 ? 第一,把對(duì)象的全部屬性及其行為結(jié)合在一起,形成一個(gè)不可分割的獨(dú)立單位 (即對(duì)象 )。第二,信息隱蔽,即盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié),對(duì)外形成一個(gè)邊界 (或者說形成一道屏障 ),只保留有限的對(duì)外接口,使之與外部發(fā)生聯(lián)系。 類 的 描 述 ? 類的定義 ? 4 2 2 類的構(gòu)造及其實(shí)例化 類 的 描 述 ? 在 Java中,新的類可以在已有類的基礎(chǔ)上構(gòu)造,這稱為類的派生。大多數(shù)類都是派生得到的。派生得到的新類稱為已有類的子類,而此已有類則稱為父類。 ? 類的結(jié)構(gòu)分為兩部分,一是類的聲明,二是類體。其格式如下。 ? classDeclaration ? { ? classBody ? } 類的定義 ? 類的定義包括類的聲明和類體的聲明,下面分別介紹。 ? 1. 類的聲明 ? 類的聲明由關(guān)鍵字 class、類的名字和類的屬性 3部分組成。關(guān)鍵字 class用固定的小寫格式,類的名字是由程序員起的,可以用任意一個(gè)名詞,但書寫格式須符合 Java 編碼規(guī)定,這兩部分是類的聲明中必須有的內(nèi)容。類的屬性是可選的,用來說明此類有關(guān)的各種特性,包括說明這個(gè)類的父類是哪一個(gè),訪問這個(gè)類有什么限制等。 類的定義 ? 類的屬性用來說明以下 3方面的內(nèi)容。 ? (1) 指出訪問權(quán)限 ? 已知由類創(chuàng)建出對(duì)象,而多個(gè)類組成包,同一個(gè)包中的類可以互相訪問。但是有一種類,它們不但可以被同一個(gè)包中的類訪問,還可以被包以外的其他類或?qū)ο笤L問,這些類被稱為公共類。在類的聲明中用 public來說明公共類特性, public放在類屬性的最前面。與 public相對(duì)應(yīng),還有一些類只能被同一個(gè)包中的其他類訪問,這種類用 private來說明特性。 類的定義 ? (2) 指出父類 (extends部分 ) ? 前面已提到,大多數(shù)的類都是從父類派生得到的,父類也稱為超類 (SuperClass)。在類的屬性中,用關(guān)鍵字 extends和父類名構(gòu)成一個(gè)語(yǔ)素來說明這一點(diǎn)。這個(gè)語(yǔ)素放在類名和類體之間,采用如下格式: ? extends SuperClassName 類的定義 ? (3) 指出接口 (implements部分 ) ? 接口是和類很相似的一種數(shù)據(jù)結(jié)構(gòu),接口專門供給類調(diào)用,本書后面的章節(jié)會(huì)專門介紹接口的結(jié)構(gòu)和調(diào)用。這里要說明的是,如果類要調(diào)用一個(gè)接口,就應(yīng)該按照如下格式: ? implements InterfaceList ? 其中, implements是專門用來調(diào)用接口的關(guān)鍵字,而InterfaceList是接口名字的列表。 類的定義 ? 綜上所述,類的聲明應(yīng)該是按如下形式: ? [modifiers]class ClassName [extends SuperclassName][implements InterfaceList]{ } ? 上述表示中,帶方括號(hào)的部分是可選的。格式說明如下。 ? modifiers:類的訪問權(quán)限,具體用 public, private和 final。 ? className:類的名字。 ? extends:指出此類的父類,其中 SuperclassName就是父類名。 ? implements:指出本類所繼承的接口,其中的 InterfaceList可以是一個(gè)由逗號(hào)隔開的接口名字的列表,也可以只有一個(gè)接口。 ? 在這些成分中,只有關(guān)鍵字 class和類名字是必須的,其他均為可選成分。如果沒有某個(gè)可選成分,在編譯時(shí), Java編譯器將賦予此類以相應(yīng)的默認(rèn)成分。比如:非公共類、非專用類、非最終類、不調(diào)用任何接口、父類為 Object等。 類的定義 ? 2. 類體的聲明 ? 類體是類的主體內(nèi)容,它包括兩部分:變量聲明和方法。 ? 在前面已經(jīng)講到,在 Java的類中,變量表明類的狀態(tài),方法實(shí)現(xiàn)類的行為,正是這兩部分內(nèi)容構(gòu)成了類體。習(xí)慣上將類中的變量稱為類的成員變量。成員變量的類型可為 Java的任意數(shù)據(jù)類型。在一個(gè)類中,成員變量的名字是惟一的,但成員變量的名字可以和方法的名字相同。所以,將剛才列出的類的格式再具體化一些,如下: ? class className ? { ? memberVariableDeclarations ? methodDeclarations ? } 4 2 2 類的構(gòu)造及其實(shí)例化 ? 在定義完類之后,需要進(jìn)行類的構(gòu)造及其實(shí)例化,下面分別介紹。 ? 1. 類的構(gòu)造 ? 在每個(gè)類中,都有一種特殊的方法,稱為構(gòu)造方法。構(gòu)造方法的功能是為從這個(gè)類新創(chuàng)建的對(duì)象分配內(nèi)存空間和進(jìn)行初始化。每次創(chuàng)建對(duì)象時(shí),系統(tǒng)便自動(dòng)調(diào)用相應(yīng)類的構(gòu)造方法。構(gòu)造方法的特殊之處還在于它不能有獨(dú)立的方法名字,而且只能有入口參數(shù),沒有返回值。但實(shí)際上,構(gòu)造方法仍然是有名字的,構(gòu)造方法的名字叫 init,這是由編譯器隱含提供的,但此名不允許程序員使用。所以,通??偸菍㈩惖拿肿鳛闃?gòu)造方法的名字。 4 2 2 類的構(gòu)造及其實(shí)例化 ? 在 Java中調(diào)用構(gòu)造方法時(shí)應(yīng)遵循如下一些規(guī)則。 ? (1) 從一個(gè)類創(chuàng)建對(duì)象時(shí),可以調(diào)用此類的父類的構(gòu)造方法。調(diào)用父類的構(gòu)造方法很容易,只要在類的構(gòu)造方法的方法體中,第一條為 super語(yǔ)句就可以了, super可以調(diào)用父類的任何一個(gè)帶入口參數(shù)或不帶入口參數(shù)的構(gòu)造方法。 ? (2) 如果一個(gè)類的構(gòu)造方法中第一個(gè)語(yǔ)句沒有用 super來調(diào)用其父類的構(gòu)造方法,則編譯器也會(huì)默認(rèn)為在構(gòu)造方法中用super()語(yǔ)句調(diào)用父類的不帶參數(shù)的構(gòu)造方法。但是,假如此時(shí)父類中所有的構(gòu)造方法都是必須帶有入口參數(shù)的,那就會(huì)使編譯出錯(cuò)。 4 2 2 類的構(gòu)造及其實(shí)例化 ? (3) 如果某個(gè)類的構(gòu)造方法第一個(gè)語(yǔ)句是用 this來調(diào)用本類的另一個(gè)構(gòu)造方法,那么 Java系統(tǒng)就不會(huì)再默認(rèn)這個(gè)構(gòu)造方法調(diào)用父類的構(gòu)造方法。 ? (4) 一個(gè)構(gòu)造方法用 this語(yǔ)句調(diào)用本類的另一個(gè)構(gòu)造方法時(shí),如果被調(diào)用的構(gòu)造方法又是調(diào)用父類的構(gòu)造方法而又沒有用 super語(yǔ)句,那么, Java編譯器會(huì)默認(rèn)它含有 super()語(yǔ)句。此時(shí),如果父類中不存在不帶參數(shù)的構(gòu)造方法,則編譯將會(huì)出錯(cuò)。 4 2 2 類的構(gòu)造及其實(shí)例化 ? 2. 類的實(shí)例化 ? 在 Java中,對(duì)象是從類創(chuàng)建出來的。 ? 創(chuàng)建對(duì)象包括定義對(duì)象、建立對(duì)象和初始化對(duì)象 3步。 ? (1) 定義對(duì)象 ? 定義對(duì)象的格式為: ? type name。 4 2 2 類的構(gòu)造及其實(shí)例化 ? (2) 建立對(duì)象 ? 一個(gè)對(duì)象必須配置相應(yīng)的存儲(chǔ)空間,才能產(chǎn)生功效。但是,定義對(duì)象時(shí),并沒有為對(duì)象分配內(nèi)存,所以,要由建立對(duì)象這一步來為對(duì)象分配內(nèi)存。建立對(duì)象實(shí)際上是將一個(gè)類進(jìn)行實(shí)例化,這是通過關(guān)鍵字new來完成的。關(guān)鍵字 new所對(duì)應(yīng)的具體動(dòng)作是調(diào)用對(duì)應(yīng)類中的構(gòu)造
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1