日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java mongodb drivers 2升级到3_JAVA从头开始一基础梳理(3-2)

發(fā)布時(shí)間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mongodb drivers 2升级到3_JAVA从头开始一基础梳理(3-2) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本章為大家介紹類的特性。

首先,第一個(gè)特性----封裝。

在這個(gè)類別中,屬性id 與屬性 color 是可以被外部直接訪問和修改的,比如

可以看到,事實(shí)上這樣的內(nèi)容是錯(cuò)誤的,我們需要在定義屬性值時(shí)需要加入驗(yàn)證等等操作,這時(shí),我們就需要對(duì)類做出封裝

如此,直接對(duì)于類的屬性訪問變?yōu)椴豢稍L問。那么如果我們需要對(duì)類的屬性操作時(shí)改怎么辦呢,這時(shí),我們需要的是為這些私有屬性提供訪問函數(shù)。

我們?yōu)镃ar類的id和color類提供了get/set函數(shù),這時(shí)我們可以使用對(duì)應(yīng)函數(shù)來操作私有的屬性值,如下圖.

同時(shí),在set函數(shù)中做賦值判斷,即可對(duì)設(shè)置的值做效驗(yàn)。

封裝一定程度上保證了類數(shù)據(jù)的安全性,但在其他方面,也提高了類屬性訪問的難度。

接下來,我們來了解類的第二個(gè)特性---繼承。

回到上一節(jié),我們發(fā)過這樣一張關(guān)系圖

其中卡車和轎車均屬于車這個(gè)類別,我們用代碼來實(shí)現(xiàn)如下

我們可以看到,因?yàn)榭ㄜ嚤緛韺儆谲囅碌囊粋€(gè)分類,所以很自然,他擁有了車這個(gè)類別的一些通用的屬性(還有函數(shù)),既然是車類別下的一個(gè)子類,那么我們只需要讓卡車類獲得車類別的通用屬性。

加入extends關(guān)鍵字,繼承了Car的公用屬性,這里需要說明的是,繼承關(guān)系直接獲得的是父級(jí)類的公用屬性,即public關(guān)鍵字所修飾的屬性及函數(shù)(這里不討論protected),看如下代碼

我們看到,當(dāng)使用Truck對(duì)象調(diào)用Car類屬性length時(shí)是成功的,而調(diào)用id屬性卻失敗,這就是因?yàn)閕d屬性的修飾符為private。那么如果我們需要訪問父類的private屬性時(shí),需要怎么做呢,首先,我們需要父類提供public修飾的私有屬性訪問函數(shù),即get/set,然后,在子類中使用super關(guān)鍵字進(jìn)行調(diào)用。

此時(shí),使用Truck對(duì)象的getSuperId函數(shù)即可訪問父類私有屬性。

ps:實(shí)際上按照我的代碼的寫法,是添加了復(fù)雜度,是沒有必要的,一般來說,作為父類,也只會(huì)提供通用,public修飾的屬性。這里只是為了演示如何使用所以故意做這樣的設(shè)計(jì)。

繼承特性一定程度上簡化了代碼,但是也降低了一定的代碼可讀性,同時(shí)需要注意,每一個(gè)類只可以有一個(gè)父類,可以有無限多個(gè)子類。

類特性的最后一個(gè)----多態(tài)

多態(tài),指對(duì)象的多種形態(tài),多態(tài)有一些必要條件,需要有繼承或?qū)崿F(xiàn)(實(shí)現(xiàn)是接口的一種邏輯,在后續(xù)章節(jié)會(huì)有介紹),必須重寫或?qū)崿F(xiàn)父類函數(shù)或接口,引用需要指向子類對(duì)象。

具體使用看如下碼圖(繼承)

可以看到 Truck類重寫了Car父類的go函數(shù)(使用override注解,表示當(dāng)前函數(shù)為覆蓋父類函數(shù)),此時(shí)我們看看如下幾個(gè)調(diào)用示例

運(yùn)行結(jié)果為

這就說明,當(dāng)程序運(yùn)行時(shí)對(duì)于函數(shù),調(diào)用父類函數(shù)還是子類函數(shù)的依據(jù)是具體實(shí)現(xiàn)。

總結(jié)

以上是生活随笔為你收集整理的java mongodb drivers 2升级到3_JAVA从头开始一基础梳理(3-2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。