国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

小康陪你學(xué)JAVA--------面向?qū)ο蟪绦蛟O(shè)計(緒)

2019-11-14 21:02:34
字體:
供稿:網(wǎng)友
小康陪你學(xué)java--------面向?qū)ο蟪绦蛟O(shè)計(緒)

從這篇開始,我將和大家開始接觸JAVA學(xué)習(xí)中非常重要的部分——面向?qū)ο蟪绦蛟O(shè)計,當(dāng)然首先和大家一起來理解幾個重要的概念,這些概念雖然都是文字性,但也是需要大家和我一樣能夠理解的。

據(jù)說早期的程序設(shè)計經(jīng)歷了“面向問題”、“面向過程”的階段,隨著計算機(jī)技術(shù)的發(fā)展,以及所要解決問題的復(fù)雜性的提高,以往的程序設(shè)計方法已經(jīng)不能適應(yīng)這種發(fā)展的需求。于是,從20世紀(jì)70年代開始,相繼出現(xiàn)了多種面向?qū)ο蟮某绦蛟O(shè)計語言,下面是計算機(jī)語言的發(fā)展過程:

一、對象

面向?qū)ο蟪绦蛟O(shè)計是將人們認(rèn)識世界過程中普遍采用的思維方法應(yīng)用到程序設(shè)計中。對象是現(xiàn)實世界中存在的事物,它們是有形的,如某個人、某種物品等等。

對象的特征分為靜態(tài)特征和動態(tài)特征兩種。靜態(tài)的特征指對象的外觀、性質(zhì)、屬性等;動態(tài)的特征指對象具有的功能、行為等。客觀事物是錯綜復(fù)雜的,但人們總是從某一目的出發(fā),運用抽象分析的能力,從眾多的特征中抽取最具代表性、最能反映對象本質(zhì)的若干特征加以詳細(xì)研究。人們將對象的靜態(tài)特征抽象為屬性,用數(shù)據(jù)來描述,在Java語言中稱之為變量;人們將對象的動態(tài)特征抽象為行為,用一組代碼來表示,完成對數(shù)據(jù)的操作,在Java語言中稱之為方法,。一個對象由一組屬性和一組對屬性進(jìn)行操作的方法構(gòu)成。

二、類

將具有相同屬性及相同行為的一組對象稱為類。廣義地講,具有共同性質(zhì)的事物的集合就稱為類。

類是一個抽象的概念,要利用類的方式來解決問題,必須用類創(chuàng)建一個實例化的類對象,然后通過類對象去訪問類的成員變量,去調(diào)用類的成員方法來實現(xiàn)程序的功能。這如同“汽車”本身是一個抽象的概念,只有使用了一輛具體的汽車,才能感受到汽車的功能。一個類可創(chuàng)建多個類對象,它們具有相同的屬性模式,但可以具有不同的屬性值。Java程序為每一個類對象都開辟了內(nèi)存空間,以便保存各自的屬性值。

面向?qū)ο蟮某绦蛟O(shè)計有三個主要特征,如下:

? 封裝性

? 繼承性

? 多態(tài)性

1) 封裝性

封裝是面向?qū)ο蟮姆椒ㄋ鶓?yīng)遵循的一個重要原則。它有兩個含義:一是指把對象的屬性和行為看成一個密不可分的整體,將這兩者“封裝”在一個不可分割的獨立單位(即對象)中。另一層含義指“信息隱蔽”,把不需要讓外界知道的信息隱藏起來,有些對象的屬性及行為允許外界用戶知道或使用,但不允許更改,而另一些屬性或行為,則不允許外界知曉;或只允許使用對象的功能,而盡可能隱蔽對象的功能實現(xiàn)細(xì)節(jié)。

封裝機(jī)制在程序設(shè)計中表現(xiàn)為,把描述對象屬性的變量及實現(xiàn)對象功能的方法合在一起,定義為一個程序單位,并保證外界不能任意更改其內(nèi)部的屬性值,也不能任意調(diào)動其內(nèi)部的功能方法。

封裝機(jī)制的另一個特點是,為封裝在一個整體內(nèi)的變量及方法規(guī)定了不同級別的“可見性”或訪問權(quán)限。

2) 繼承性

首先擁有反映事物一般特性的類,然后在其基礎(chǔ)上派生出反映特殊事物的類。如已有的汽車的類,該類中描述了汽車的普遍屬性和行為,進(jìn)一步再產(chǎn)生轎車的類,轎車的類是繼承于汽車類,轎車類不但擁有汽車類的全部屬性和行為,還增加轎車特有的屬性和行為。

在Java程序設(shè)計中,已有的類可以是Java開發(fā)環(huán)境所提供的一批最基本的程序——類庫。用戶開發(fā)的程序類是繼承這些已有的類。這樣,現(xiàn)在類所描述過的屬性及行為,即已定義的變量和方法,在繼承產(chǎn)生的類中完全可以使用。被繼承的類稱為父或超類,而經(jīng)繼承產(chǎn)生的類稱為子類或派生類。根據(jù)繼承機(jī)制,派生類繼承了超類的所有成員,并相應(yīng)地增加了自己的一些新的成員。

若一個子類只允許繼承一個父類,稱為單繼承;若允許繼承多個父類,稱為多繼承。目前許多面向?qū)ο蟪绦蛟O(shè)計語言不支持多繼承。而Java語言通過接口(interface)的方式來彌補由于Java不支持多繼承而帶來的子類不能享用多個父類的成員的缺憾。

3) 多態(tài)性

多態(tài)是面向?qū)ο蟪绦蛟O(shè)計的又一個重要特征。多態(tài)是允許程序中出現(xiàn)重名現(xiàn)象。Java語言中含有方法重載與成員覆蓋兩種形式的多態(tài)。

方法重載:在一個類中,允許多個方法使用同一個名字,但方法的參數(shù)不同,完成的功能也不同。成員覆蓋:子類與父類允許具有相同的變量名稱,但數(shù)據(jù)類型不同,允許具有相同的方法名稱,但完成的功能不同。

多態(tài)的特性使程序的抽象程度和簡捷程度更高,有助于程序設(shè)計人員對程序的分組協(xié)同開發(fā)。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 合山市| 甘孜县| 乐清市| 申扎县| 兴隆县| 大埔区| 通江县| 海盐县| 八宿县| 南澳县| 满洲里市| 北辰区| 西华县| 江华| 额济纳旗| 班玛县| 通城县| 寿光市| 武汉市| 莲花县| 新宾| 宜都市| 辉南县| 库车县| 宜宾市| 牡丹江市| 嘉义县| 江都市| 大邑县| 肥乡县| 池州市| 平安县| 龙里县| 泾源县| 延边| 淮北市| 揭西县| 安庆市| 正阳县| 永善县| 阿拉尔市|