亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Java面向?qū)ο缶幊痰娜筇匦?/h1>
        2020-01-18 05:51:56岳青玲
        電子技術(shù)與軟件工程 2019年24期
        關(guān)鍵詞:子類多態(tài)面向?qū)ο?/a>

        文/岳青玲

        面向?qū)ο笫钱?dāng)前Java和C#等主流編程語言共同的特點(diǎn)。面向?qū)ο蟠嬖谲浖_發(fā)過程中的每個(gè)階段。其中包含了面向?qū)ο蠓治觯∣OA)、面向?qū)ο笤O(shè)計(jì)(OOD)和面向?qū)ο缶幊蹋∣OP),上述幾個(gè)方面形成了完整的軟件工程核心理論、方法以及工具。在學(xué)習(xí)Java的過程中,首先接觸的就是相關(guān)的基本概念,經(jīng)過此模塊的系統(tǒng)學(xué)習(xí)后,我們可以正確的認(rèn)知對(duì)象并進(jìn)行使用,在面向?qū)ο蟮膶W(xué)習(xí)過程中有很大的推進(jìn)作用。本文對(duì)Java的三大特性:封裝、繼承、多態(tài)進(jìn)行詳細(xì)的解釋和舉例,對(duì)理解學(xué)習(xí)面向?qū)ο笏枷牒秃罄m(xù)的學(xué)習(xí)有較大的幫助。

        1 Java封裝

        1.1 封裝的概念

        面向?qū)ο笤O(shè)計(jì)方法的第一大特性--封裝,該特性是指把抽象的函數(shù)接口的具體實(shí)現(xiàn)細(xì)節(jié)當(dāng)作一個(gè)包,將其包裝并且隱藏起來。

        (1)定義:將對(duì)象的屬性和具體細(xì)節(jié)打包隱藏,對(duì)外使用時(shí)只能看到相應(yīng)的接口,來執(zhí)行對(duì)屬性的可讀及修改的訪問權(quán)限。

        (2)目的:增加程序的安全級(jí)別,降低后續(xù)的編程復(fù)雜度,程序的使用者不需要了解實(shí)現(xiàn)的細(xì)節(jié),只需要了解它的外部接口,來進(jìn)行對(duì)該類的使用。

        (3)基本要求:將屬性進(jìn)行私有化操作,對(duì)每個(gè)屬性創(chuàng)建set和get方法,如果這里存在一個(gè)帶參數(shù)的構(gòu)造函數(shù),以此同時(shí)就必須存在一個(gè)不帶參數(shù)的構(gòu)造函數(shù)。在后續(xù)的開發(fā)階段需要對(duì)已經(jīng)存在的類測試,因此有時(shí)還需要寫toString方法,雖然不是強(qiáng)制的。

        1.2 封裝的優(yōu)點(diǎn)

        (1)優(yōu)秀的封裝使用可以低耦合。

        (2)類的內(nèi)部結(jié)構(gòu)可以根據(jù)實(shí)際需求進(jìn)行更改。

        (3)對(duì)成員變量的調(diào)控變得更精準(zhǔn)。

        (4)隱藏不需要外部了解的細(xì)節(jié)。

        1.3 實(shí)現(xiàn)Java封裝的步驟

        修改屬性的可見性來限制對(duì)屬性的訪問(一般限制為private),例如:

        public class Someone {

        private String name;

        private String gender;}

        上述例子,把 name 和 gender屬性設(shè)定為private,只有該類才可以執(zhí)行此方法,因此可以認(rèn)定把細(xì)節(jié)模糊處理。

        表1:類成員修飾符與訪問能力之間的關(guān)系(類成員訪問權(quán)限)

        表2:繼承和權(quán)限

        其次,再將上述方法中的值都封裝起來,并設(shè)置為一個(gè)方法,外部如果想使用該值時(shí),可以用過調(diào)用該方法來使用其中的值,這樣做可以對(duì)一些私有屬性進(jìn)行訪問。

        2 繼承

        2.1 目的

        實(shí)現(xiàn)代碼的復(fù)用。

        2.2 介紹

        兩個(gè)類存在同樣的屬性和同樣的方法名稱時(shí),可以把兩個(gè)類中共同的部分提取出來,新建類為父類,之前的兩個(gè)類來繼承這個(gè)類進(jìn)而使用方法。進(jìn)行繼承操作后,子類自動(dòng)擁有了父類的屬性和詳細(xì)方法,但是父類存在private的屬性和方法,子類不能夠繼承。除此之外,子類可以再次編寫自己特有的屬性和方法,目的就為了后續(xù)開發(fā)過程中功能的擴(kuò)展,子類也可以復(fù)寫方法。如表1、表2所示。

        繼承是面向?qū)ο笞铒@著的一個(gè)特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。

        在Java之中,實(shí)現(xiàn)繼承,可以參考以下例子:

        class 子類 extends 父類 {}

        子類可以叫繼承類(派生類); 父類可以叫超類(Super Class)。

        觀察繼承的基本實(shí)現(xiàn):

        運(yùn)行結(jié)果:類別:哺乳動(dòng)物,數(shù)量:6

        通過代碼可以發(fā)現(xiàn),子類(Student)并沒有定義任何的操作,而在主類中所使用的全部操作都是由Person類定義的,這證明:子類即使不擴(kuò)充父類,也能維持父類的操作。

        3 多態(tài)

        3.1 概念

        同樣的事物處理,使用的方法為同一個(gè)方法,方法中的參數(shù)也相同,但是最后表現(xiàn)的結(jié)果不同。

        3.2 Java如果想實(shí)現(xiàn)多態(tài)必須存在以下幾個(gè)條件才可以成功實(shí)現(xiàn)

        繼承:在多態(tài)的管理網(wǎng)中必須要有存在繼承關(guān)系的子類和父類。

        重寫:子類會(huì)針對(duì)父類中的一些特點(diǎn)方法進(jìn)行自定義,后續(xù)在使用這些方法時(shí)會(huì)調(diào)用子類中重寫的方法。

        向上轉(zhuǎn)型:在多態(tài)當(dāng)中需要把子類引用的對(duì)象賦值給到父類,只有這樣做才能達(dá)到可以調(diào)用父類、子類方法的目的。

        滿足了以上的幾個(gè)條件,我們可以在同一個(gè)繼承的結(jié)構(gòu)中使用統(tǒng)一邏輯代碼,進(jìn)而去處理不同類別的對(duì)象,進(jìn)而達(dá)到執(zhí)行不同方法的目的。

        3.3 多態(tài)的實(shí)現(xiàn)方式

        3.3.1 基于繼承實(shí)現(xiàn)的多態(tài)

        基于繼承來實(shí)現(xiàn)多態(tài),該方法主要表現(xiàn)在父類和繼承該父類的不同子類對(duì)這些方法進(jìn)行重寫,多個(gè)子類進(jìn)行重寫,后續(xù)調(diào)用時(shí)可以執(zhí)行不同的行為。

        3.3.2 基于接口實(shí)現(xiàn)的多態(tài)

        繼承是通過重新編寫父類的同一個(gè)方法中的不同的子類來實(shí)現(xiàn)的,如果這樣做的話就是覆蓋接口來實(shí)現(xiàn)多態(tài)。

        4 Java三大特性總結(jié)

        4.1 封裝的優(yōu)點(diǎn)

        (1)提高了安全性,防止一些誤操作。

        (2)提高了復(fù)用性,封裝之后便于調(diào)用。

        (3)信息隱藏,隱藏了實(shí)現(xiàn)細(xì)節(jié)。

        4.2 繼承的優(yōu)點(diǎn)

        (1)繼承可提高代碼的復(fù)用性。

        (2)繼承可提高代碼的穩(wěn)定性。

        (3)繼承讓類與類之間產(chǎn)生關(guān)系,是多態(tài)的前提。

        4.3 多態(tài)性優(yōu)點(diǎn)

        (1)提高了代碼的維護(hù)性(繼承保證)。

        (2)提高了代碼的擴(kuò)展性(由多態(tài)保證)。

        封裝->繼承->多態(tài)這不單單是三個(gè)名詞的簡單羅列,更是一步步遞進(jìn)的關(guān)系。對(duì)于面向?qū)ο蟮某绦蛟O(shè)計(jì),封裝是基礎(chǔ),繼承是多態(tài)的前提條件,三者邏輯順序不可顛倒。

        5 結(jié)論

        通過上述可以理解面向?qū)ο蟮闹行乃枷刖褪钦_的理解對(duì)象的概念,還有對(duì)象到類、類到接口等過程。面向?qū)ο箝_發(fā)思想的三大特性包括封裝、繼承與多態(tài),Java的三大特性在初次學(xué)習(xí)和后續(xù)開發(fā)階段,這些特性都是與開發(fā)息息相關(guān)的,在分析設(shè)計(jì)類的過程中讓代碼之間變得低耦合、高內(nèi)聚,進(jìn)而提升代碼的復(fù)用性。

        Java程序在執(zhí)行過程中,正確的認(rèn)知對(duì)象的整個(gè)聲明周期和后續(xù)在實(shí)際的開發(fā)過程中正確的使用它們,是在編寫的效率方面有極大幫助的。因此從理解對(duì)象的概念、學(xué)習(xí)對(duì)象的使用為起點(diǎn),后續(xù)進(jìn)行面向?qū)ο蟮姆治觥㈤_發(fā)過程,在實(shí)踐過程中才能更迅速的提高對(duì)整個(gè)系統(tǒng)的分析、設(shè)計(jì)能力。

        猜你喜歡
        子類多態(tài)面向?qū)ο?/a>
        分層多態(tài)加權(quán)k/n系統(tǒng)的可用性建模與設(shè)計(jì)優(yōu)化
        卷入Hohlov算子的某解析雙單葉函數(shù)子類的系數(shù)估計(jì)
        參差多態(tài)而功不唐捐
        面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開發(fā)
        電子測試(2018年15期)2018-09-26 06:01:34
        關(guān)于對(duì)稱共軛點(diǎn)的倒星象函數(shù)某些子類的系數(shù)估計(jì)
        面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
        面向?qū)ο骔eb開發(fā)編程語言的的評(píng)估方法
        人多巴胺D2基因啟動(dòng)子區(qū)—350A/G多態(tài)位點(diǎn)熒光素酶表達(dá)載體的構(gòu)建與鑒定及活性檢測
        面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
        河南科技(2014年10期)2014-02-27 14:09:03
        煙堿型乙酰膽堿受體基因多態(tài)與早發(fā)性精神分裂癥的關(guān)聯(lián)研究

        久久久久久人妻一区二区三区 | 成人影院羞羞的视频免费观看| 91精品国产综合久久久蜜| 久久久久成人精品无码中文字幕| aaaaaa级特色特黄的毛片 | 久草久热这里只有精品| 一区二区午夜视频在线观看| 亚洲av成人精品一区二区三区| 国产又黄又爽又色的免费| 日本a在线看| 亚洲黄色一插一抽动态图在线看| 国产一区二区三区视频地址 | 67194熟妇在线永久免费观看| 91爱爱视频| 伊人影院成人在线观看| 国产精品人人做人人爽人人添 | 女主播国产专区在线观看| 人人妻人人做人人爽| 在线播放无码高潮的视频| 国产成人亚洲合集青青草原精品 | 国产一区二区三区小说| 免费国产自拍视频在线观看| 精品一区三区视频在线观看| 天天鲁一鲁摸一摸爽一爽| 秋霞日韩一区二区三区在线观看| 白白在线免费观看视频| 欲求不満の人妻松下纱荣子 | 中文字幕 人妻熟女| 91自国产精品中文字幕| 国产成人精品人人做人人爽97 | 欧美人与动牲交片免费播放| 日本不卡视频一区二区| 人与动牲交av免费| 中日韩欧美在线观看| 亚洲av自偷自拍亚洲一区| 人妻中文字幕在线网站| 欧美巨大xxxx做受l| 久久精品国产亚洲AV高清wy| 亚洲美女自拍偷拍视频| 亚洲老妈激情一区二区三区| 亚洲av不卡电影在线网址最新 |