亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談java類和對(duì)象

 更新時(shí)間:2022年05月31日 08:57:13   作者:即將禿頭的菜鳥  
這篇文章主要介紹了淺談java類和對(duì)象,對(duì)于面向?qū)ο蟮拈_發(fā)來講也分為三個(gè)過程:OOA(面向?qū)ο蠓治觯?、OOD(面向?qū)ο笤O(shè)計(jì))、OOP(面向?qū)ο缶幊蹋疚慕o大家介紹的非常詳細(xì),需要的朋友可以參考下

一、面向?qū)ο蟮拿枋?/h2>

面向?qū)ο笫且环N現(xiàn)在最為流行的程序設(shè)計(jì)方法,幾乎現(xiàn)在的所有應(yīng)用都以面向?qū)ο鬄橹髁耍钤绲拿嫦驅(qū)ο蟮母拍顚?shí)際上是由IBM提出的,在70年代的Smaltalk語言之中進(jìn)行了應(yīng)用,后來根據(jù)面向?qū)ο蟮脑O(shè)計(jì)思路,才形成C++,而由C++產(chǎn)生了Java這門面向?qū)ο蟮木幊陶Z言。

但是在面向?qū)ο笤O(shè)計(jì)之前,廣泛采用的是面向過程,面向過程只是針對(duì)于自己來解決問題。面向過程的操作是以程序的基本功能實(shí)現(xiàn)為主,實(shí)現(xiàn)之后就完成了,也不考慮修改的可能性,面向?qū)ο?,更多的是要進(jìn)行子模塊化的設(shè)計(jì),每一個(gè)模塊都需要單獨(dú)存在,并且可以被重復(fù)利用,所以,面向?qū)ο蟮拈_發(fā)更像是一個(gè)具備標(biāo)準(zhǔn)的開發(fā)模式。

在面向?qū)ο蠖x之中,也規(guī)定了一些基本的特征:

封裝:保護(hù)內(nèi)部的操作不被破壞。繼承:在原本的基礎(chǔ)之上繼續(xù)進(jìn)行擴(kuò)充。多態(tài):在一個(gè)指定的范圍之內(nèi)進(jìn)行概念的轉(zhuǎn)換。

對(duì)于面向?qū)ο蟮拈_發(fā)來講也分為三個(gè)過程:OOA(面向?qū)ο蠓治觯?、OOD(面向?qū)ο笤O(shè)計(jì))、OOP(面向?qū)ο缶幊蹋?/p>

二、類和對(duì)象的基本概念

:是抽象的概念集合,表示的是一個(gè)共性的產(chǎn)物,類之中定義的是屬性和行為(方法)。

對(duì)象:對(duì)象是一種個(gè)性的表示,表示一個(gè)獨(dú)立的個(gè)體,每個(gè)對(duì)象擁有自己獨(dú)立的屬性,依靠屬性來區(qū)分不同對(duì)象。

三、類定義和使用

1、簡單認(rèn)識(shí)類

類是對(duì)一個(gè)對(duì)象進(jìn)行描述的。主要描述對(duì)象具有哪些屬性(外觀尺寸等),哪些功能(用來干
啥)。

例如:

一個(gè)洗衣機(jī),可以將它看作一個(gè)類別。然后屬性就是這個(gè)洗衣機(jī)的品牌、長、寬、顏色等等。功能:洗衣、烘干等。

2、類的定義

在Java中定義類,使用關(guān)鍵字class完成。語法如下:

忽略一下報(bào)錯(cuò),因?yàn)槭怯玫闹形摹?/p>

class為定義類的關(guān)鍵字,ClassName為類的名字,{}中為類的主體。

類中包含的內(nèi)容稱為類的成員。屬性主要是用來描述類的,稱之為類的成員屬性或者類成員變量。方法主要說明類具有哪些功能,稱為類的成員方法。

看一個(gè)例子:定義一個(gè)學(xué)生類

采用Java語言將洗衣機(jī)類在計(jì)算機(jī)中定義完成,經(jīng)過javac編譯之后形成.class文件,在JVM的基礎(chǔ)上計(jì)算機(jī)就可以識(shí)別了。
然后呢,類定義完成之后,肯定無法直接使用。如果要使用,必須依靠對(duì)象,那么由于類屬于引用數(shù)據(jù)類型,所以對(duì)象的產(chǎn)生格式(兩種格式)如下:

1、格式一:聲明并實(shí)例化對(duì)象。

2、格式二:先聲明對(duì)象,然后實(shí)例化對(duì)象。

引用數(shù)據(jù)類型與基本數(shù)據(jù)類型最大的不同在于:引用數(shù)據(jù)類型需要內(nèi)存的分配和使用。所以,關(guān)鍵字new的主要功能就是分配內(nèi)存空間,也就是說,只要使用引用數(shù)據(jù)類型,就要使用關(guān)鍵字new來分配內(nèi)存空間。

3、實(shí)例化對(duì)象

當(dāng)一個(gè)實(shí)例化對(duì)象產(chǎn)生之后,可以按照如下的方式進(jìn)行類的操作:
對(duì)象.屬性:表示調(diào)用類之中的屬性;
對(duì)象.方法():表示調(diào)用類之中的方法。

舉一個(gè)例子,來操作類:

運(yùn)行結(jié)果如下:

因?yàn)槲覜]初始化學(xué)號(hào)的原因,所以是null。

4、類的三大特性

封裝

封裝從字面上來理解就是包裝的意思,專業(yè)點(diǎn)就是信息隱藏,是指利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,使其構(gòu)成一個(gè)不可分割的獨(dú)立實(shí)體,數(shù)據(jù)被保護(hù)在抽象數(shù)據(jù)類型的內(nèi)部,盡可能地隱藏內(nèi)部的細(xì)節(jié),只保留一些對(duì)外接口使之與外部發(fā)生聯(lián)系。系統(tǒng)的其他對(duì)象只能通過包裹在數(shù)據(jù)外面的已經(jīng)授權(quán)的操作來與這個(gè)封裝的對(duì)象進(jìn)行交流和交互。也就是說用戶是無需知道對(duì)象內(nèi)部的細(xì)節(jié),但可以通過該對(duì)象對(duì)外的提供的接口來訪問該對(duì)象。

對(duì)于封裝而言,一個(gè)對(duì)象它所封裝的是自己的屬性和方法,所以它是不需要依賴其他對(duì)象就可以完成自己的操作。使用封裝有下面幾個(gè)好處:

繼承

繼承是使用已存在的類的定義作為基礎(chǔ)建立新類的技術(shù),新類的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。通過使用繼承我們能夠非常方便地復(fù)用以前的代碼,能夠大大的提高開發(fā)的效率。

繼承所描述的是“is-a”的關(guān)系,如果有兩個(gè)對(duì)象A和B,若可以描述為“A是B”,則可以表示A繼承B,其中B是被繼承者稱之為父類或者超類,A是繼承者稱之為子類或者派生類。

實(shí)際上繼承者是被繼承者的特殊化,它除了擁有被繼承者的特性外,還擁有自己獨(dú)有的特性。例如貓有抓老鼠、爬樹等其他動(dòng)物沒有的特性。同時(shí)在繼承關(guān)系中,繼承者完全可以替換被繼承者,反之則不可以,例如我們可以說貓是動(dòng)物,但不能說動(dòng)物是貓就是這個(gè)道理,其實(shí)對(duì)于這個(gè)我們將其稱之為“向上轉(zhuǎn)型”。

多態(tài)

多態(tài)就是指程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用在編程時(shí)并不確定,而是在程序運(yùn)行期間才確定,即一個(gè)引用變量倒底會(huì)指向哪個(gè)類的實(shí)例對(duì)象,該引用變量發(fā)出的方法調(diào)用到底是哪個(gè)類中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能決定。因?yàn)樵诔绦蜻\(yùn)行時(shí)才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變量綁定到各種不同的類實(shí)現(xiàn)上,從而導(dǎo)致該引用調(diào)用的具體方法隨之改變,即不修改程序代碼就可以改變程序運(yùn)行時(shí)所綁定的具體代碼,讓程序可以選擇多個(gè)運(yùn)行狀態(tài),這就是多態(tài)性。

所以對(duì)于多態(tài)我們可以總結(jié)如下:指向子類的父類引用由于向上轉(zhuǎn)型了,它只能訪問父類中擁有的方法和屬性,而對(duì)于子類中存在而父類中不存在的方法,該引用是不能使用的,盡管是重載該方法。若子類重寫了父類中的某些方法,在調(diào)用該些方法的時(shí)候,必定是使用子類中定義的這些方法(動(dòng)態(tài)連接、動(dòng)態(tài)調(diào)用)。

對(duì)于面向?qū)ο蠖?,多態(tài)分為編譯時(shí)多態(tài)和運(yùn)行時(shí)多態(tài)。其中編輯時(shí)多態(tài)是靜態(tài)的,主要是指方法的重載,它是根據(jù)參數(shù)列表的不同來區(qū)分不同的函數(shù),通過編輯之后會(huì)變成兩個(gè)不同的函數(shù),在運(yùn)行時(shí)談不上多態(tài)。而運(yùn)行時(shí)多態(tài)是動(dòng)態(tài)的,它是通過動(dòng)態(tài)綁定來實(shí)現(xiàn)的,也就是我們所說的多態(tài)性。

到此這篇關(guān)于淺談java類和對(duì)象的文章就介紹到這了,更多相關(guān)java類和對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論