国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Java貓說(shuō)】案例談面向?qū)ο?

CloudwiseAPM / 2801人閱讀

摘要:以下我們使用一個(gè)案例來(lái)舉例說(shuō)明面向?qū)ο蟮木幊谭椒ǎ咐囊笫窃趫D形接口畫出四方形圓形與三角形。本文已轉(zhuǎn)載個(gè)人技術(shù)公眾號(hào)歡迎留言討論與點(diǎn)贊上一篇推薦貓說(shuō)編譯器與虛擬機(jī)哪個(gè)重要下一篇推薦貓說(shuō)類與對(duì)象的那些事

有人告訴我那里遍地都是對(duì)象——我們把所有的程序代碼放在main()里面,事實(shí)上,那根本就不是面向?qū)ο蟮淖龇ǎ贘ava的面向?qū)ο笾校覀円矔?huì)看到類和對(duì)象的不同,以及對(duì)象是如何讓你的生活更美好(至少程序設(shè)計(jì)工作的部分會(huì)更美好,但對(duì)于是否能夠受到異性的青睞就不一定了)。

以下我們使用一個(gè)案例來(lái)舉例說(shuō)明面向?qū)ο蟮木幊谭椒ǎ咐囊笫牵涸趫D形接口畫出四方形、圓形與三角形。當(dāng)用戶點(diǎn)選圖形時(shí),圖形需要順時(shí)鐘轉(zhuǎn)360°并依據(jù)形狀的不同播放不同的AIF音效文件。(不錯(cuò),這是經(jīng)典的椅子大戰(zhàn))

那么作為程序員的你,會(huì)如何實(shí)現(xiàn)呢?請(qǐng)花30秒小小思考一下。

在面向?qū)ο蟮木幊讨校覀冃枰x三個(gè)類分別是Square、Circle、Triangle代表四方形、圓形與三角形,且他們都要顯示對(duì)應(yīng)的rotate()、playSound()方法,這樣一看好像要寫很多重復(fù)的代碼。但是!

現(xiàn)在業(yè)務(wù)發(fā)生了變化,我們需要加一個(gè)阿米巴原蟲形狀,用戶點(diǎn)擊時(shí)旋轉(zhuǎn)并播放.hif聲音文件。且旋轉(zhuǎn)是以右側(cè)的點(diǎn)為中心,不是圖形的中心

那么我們還是能接受的,多加一個(gè)Amoeba類,實(shí)現(xiàn)對(duì)應(yīng)的旋轉(zhuǎn)和播放音頻的方法,這里我們完全不用理會(huì)之前的三個(gè)實(shí)現(xiàn)類,他們都是一一獨(dú)立的。

但是我們會(huì)發(fā)現(xiàn)四個(gè)類都有共同的部分,那么我們可以提取一個(gè)父類Shape,接著讓四個(gè)子類去繼承Shape。

面向?qū)ο螅寣?duì)象本身只專注于自己的實(shí)現(xiàn),如果有相同的實(shí)現(xiàn)就進(jìn)行提取,它幫助我們用更自然的方法設(shè)計(jì),加入新功能時(shí)不會(huì)搞亂已經(jīng)寫好的程序代碼,且類可以重復(fù)運(yùn)用在別的應(yīng)用程序中,當(dāng)寫一個(gè)新的類時(shí),可以使該類有足夠的擴(kuò)展性,以便以后用到。

本文已轉(zhuǎn)載個(gè)人技術(shù)公眾號(hào):UncleCatMySelf
歡迎留言討論與點(diǎn)贊
上一篇推薦:【Java貓說(shuō)】編譯器與虛擬機(jī)哪個(gè)重要?
下一篇推薦:【Java貓說(shuō)】類與對(duì)象的那些事

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/71635.html

相關(guān)文章

  • Java貓說(shuō)】類與對(duì)象的那些事

    摘要:也可以這么說(shuō),對(duì)象就好像通訊簿中的一筆數(shù)據(jù)。對(duì)象有已知的事物,并能執(zhí)行工作。對(duì)象本身已知道的事物成為實(shí)例變量,它代表對(duì)象的狀態(tài)。對(duì)象可執(zhí)行的動(dòng)作稱為方法,它代表對(duì)象的行為。 閱讀本文約2.1分鐘。 當(dāng)你在設(shè)計(jì)類時(shí),要記得對(duì)象時(shí)靠類的模型塑造出來(lái)的,你可以這樣看: ——對(duì)象是已知事物 ——對(duì)象會(huì)執(zhí)行的動(dòng)作 對(duì)象本身已知的事物稱為實(shí)例變量,它們代表對(duì)象的狀態(tài)(數(shù)據(jù)),且該類型的每一個(gè)對(duì)象...

    BWrong 評(píng)論0 收藏0
  • Java貓說(shuō)】編譯器與虛擬機(jī)哪個(gè)重要?

    摘要:虛擬機(jī)可以說(shuō)就是,她能讓程序運(yùn)行起來(lái)。編譯器的工作是要確保鐵定不能跑的東西不會(huì)過(guò)關(guān)。編譯器作為安全的第一線,能防止人們動(dòng)不到不可以碰的程序代碼與其他類的重要數(shù)據(jù)。 熟悉Java的朋友都知道虛擬機(jī)還有編譯器,那么它們各自主要的功能是什么?誰(shuí)比較重要呢?讓我們來(lái)了解一下這兩位美女的故事。 虛擬機(jī)可以說(shuō)就是Java,她能讓程序運(yùn)行起來(lái)。 但是編譯器卻能產(chǎn)生文件,畢竟java是直譯語(yǔ)言,如果需...

    CntChen 評(píng)論0 收藏0
  • Java貓說(shuō)】SSM整合Netty5.0詳細(xì)說(shuō)明

    摘要:而我們項(xiàng)目在實(shí)測(cè)時(shí)也是將項(xiàng)目發(fā)布到測(cè)試服務(wù)器,通過(guò)模擬工具進(jìn)行測(cè)試連接,當(dāng)數(shù)據(jù)格式正常,且業(yè)務(wù)數(shù)據(jù)正常,服務(wù)器就會(huì)對(duì)指令執(zhí)行對(duì)應(yīng)的操作。 閱讀本文約5.5分鐘 最近又有粉絲加Q群討論netty整合SSM項(xiàng)目的方式等,我在這里抽了休息日的時(shí)候整理一下,一步一步的記錄,注意的是,本案例僅實(shí)現(xiàn)了用netty整合SSM后與單片機(jī)等類TCP應(yīng)用通信。 SSM + Netty項(xiàng)目結(jié)合思路 對(duì)于N...

    dingding199389 評(píng)論0 收藏0
  • Java貓說(shuō)Java基本概念一

    摘要:來(lái)用來(lái)表示程序的一個(gè)組件,小程序不是微信小程序可能只有一個(gè)類,類的內(nèi)容必須包在花括號(hào)里面。類帶有一個(gè)或多個(gè)方法,方法帶有如何行走的指令,方法必須在類的內(nèi)部聲明。如下圖本文已轉(zhuǎn)載個(gè)人技術(shù)公眾號(hào)歡迎留言討論與點(diǎn)贊。下一篇推薦貓說(shuō)基本概念二 Java曾以什么優(yōu)點(diǎn)吸引你走上程序員這條不歸路? 友好的語(yǔ)法、面向?qū)ο蟆?nèi)存管理和最棒的跨平臺(tái)可移植性、write-once/run-anywhere ...

    EsgynChina 評(píng)論0 收藏0
  • RPC框架是啥之Java自帶RPC實(shí)現(xiàn),RMI框架入門

    摘要:讓我們優(yōu)先來(lái)實(shí)現(xiàn)一個(gè)的案例吧。為了防止被防火墻攔截,需要強(qiáng)制制定的通信端口,一般通過(guò)自定義一個(gè)類來(lái)實(shí)現(xiàn)。完美支持語(yǔ)言所獨(dú)有的特性,不支持其他語(yǔ)言。使用了原生序列化,所有序列化對(duì)象必須實(shí)現(xiàn)接口。 本博客 貓叔的博客,轉(zhuǎn)載請(qǐng)申明出處 學(xué)習(xí)系列 RPC框架是啥? Java自帶RPC實(shí)現(xiàn),RMI框架入門 首先RMI(Remote Method Invocation)是Java特有的一種RPC實(shí)...

    ZHAO_ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<