国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

日常學(xué)習(xí) 8.7 Java面向?qū)ο笕筇匦灾?繼承

2023-08-07 14:09 作者:O青綰  | 我要投稿

8.07

Java面向?qū)ο笕筇匦灾?繼承
學(xué)習(xí)目標(biāo):掌握語(yǔ)法和特點(diǎn)


Java中的繼承(體系)
-繼承關(guān)系 類與類之間的關(guān)系(親的血緣關(guān)系)

-實(shí)習(xí)關(guān)系 類與接口之間的關(guān)系(師徒關(guān)系)


繼承關(guān)系概念
1.關(guān)鍵字 extends (意思為擴(kuò)展)
class A extends B
A 代表子類 所有的子孫后代(徒子徒孫)
B 代表父類 所有的父輩(所有的師父,師祖)

一個(gè)父類能有很多子類

案例:
父類:動(dòng)物類 Animal
子類:貓Cat 狗Dog 豬Pig


特點(diǎn):
-子類可以繼承父類所有的屬性和方法,除了構(gòu)造方法
-所有的類沒(méi)有寫(xiě)繼承,默認(rèn)繼承自O(shè)bject
-Java中一個(gè)父類能擴(kuò)展多個(gè)子類
-Java中只支持單繼承(一個(gè)子類只能有一個(gè)直接的父類)
-Java中支持多層繼承(一層一層繼承下來(lái))
-如果父類封裝了起來(lái),子類無(wú)法直接訪問(wèn)父類封裝的屬性,
但是子類可以通過(guò)父類提供的公開(kāi)的方式訪問(wèn)

-super:代表當(dāng)前類的父類
如果子類使用有參構(gòu)造進(jìn)行創(chuàng)建對(duì)象
方式一:在構(gòu)造方法中調(diào)用set方法進(jìn)行賦值
方式二:利用父類的有參構(gòu)造進(jìn)行傳值 super(name,age)


繼承的好處
1.提高代碼的維護(hù)性(增 刪 改)
弊端:增加了類與類之間的耦合度(權(quán)衡)

2.提高了代碼的擴(kuò)展性(父類)
父類未來(lái)可以在非入侵的情況下,擴(kuò)展更多的子類



方法的重載
出現(xiàn)在同一個(gè)類中
方法名相同
參數(shù)列表不同(類型、數(shù)量、順序)
與返回值無(wú)關(guān)

方法的重寫(xiě)
出現(xiàn)在繼承體系中
方法名相同
參數(shù)列表相同
返回值類型相同
只有方法類的代碼不同


抽象 (為繼承而生,在繼承的基礎(chǔ)上做強(qiáng)制規(guī)定)
基本含義:關(guān)鍵字 abstract (抽象的修飾符)

1.修飾類 (抽象類)
-無(wú)法實(shí)例化(new不出來(lái))
-只能被繼承
-普通類中有點(diǎn)元素,抽象類中都有,抽象類中還可以有抽象方法



2.修飾方法 (抽象方法)
-沒(méi)有方法體
-抽象方法必須被重寫(xiě)
-抽象方法只能出現(xiàn)在抽象類

使用場(chǎng)景:
1.當(dāng)父類絕對(duì)不需要?jiǎng)?chuàng)建對(duì)象時(shí)可以考慮將父類抽象化
2.如果父類中的某些方法絕對(duì)不需要立即實(shí)現(xiàn),而是未來(lái)靠子類重寫(xiě),可以考慮將方法抽象化






@Override
Java自帶的注解,用來(lái)檢測(cè)當(dāng)前的方法是不是對(duì)父類的方法的重寫(xiě)


final最終
基本含義:是一個(gè)關(guān)鍵字 final 最終的修飾符

1.修飾類(最終類)
-無(wú)法被繼承(沒(méi)有后代) 比如 String Scanner


2.修飾方法(最終方法)
-無(wú)法被重寫(xiě)


3.修飾屬性(最終屬性)
共同特性:1.一開(kāi)始就要賦值


2.無(wú)法被修改
-基本數(shù)據(jù)類型
本身的值無(wú)法被修改

-引用數(shù)據(jù)類型
地址無(wú)法被修改,但是內(nèi)部的內(nèi)容可以改

繼承的使用場(chǎng)景:
當(dāng)多個(gè)類具有共同屬性和方法時(shí),可以考慮將這些共性抽離出來(lái)形成一個(gè)父類。
如果要對(duì)現(xiàn)有的類進(jìn)行 完善/擴(kuò)展/增強(qiáng) 可以考慮在繼承的基礎(chǔ)上,對(duì)父類的方法進(jìn)行重寫(xiě)。



作業(yè):猜拳游戲(面向?qū)ο蟀妫?br>
設(shè)計(jì)類:

父類:角色
子類:
玩家
電腦/機(jī)器人

裁判(功能)

應(yīng)用程序的類(run方法)

測(cè)試類(讓?xiě)?yīng)用程序啟動(dòng))


注意:不要到處new對(duì)象

預(yù)習(xí):多態(tài)與接口


遇到問(wèn)題:
判斷單局勝負(fù)時(shí)如何多個(gè)傳遞玩家或者電腦的信息

解決:
直接把玩家和電腦的對(duì)象傳參進(jìn)去

心得:
今天學(xué)習(xí)了Java面向?qū)ο笾^承,今天的內(nèi)容較簡(jiǎn)單,多看多做多記就好


支線任務(wù):
1.什么是遞歸,有什么注意事項(xiàng)
-遞歸:
它是指一段程序直接或者間接調(diào)用自身的一種方法,
通過(guò)這種形式執(zhí)行需要進(jìn)行一些固定步驟的許多操作,
它可以把一個(gè)復(fù)雜并且龐大的問(wèn)題簡(jiǎn)單化,
通過(guò)專注于解決它分化出來(lái)的小問(wèn)題從而解決大問(wèn)題,
從而大大減少我們的代碼量,
是提高我們編碼效率的很好方法。
-注意事項(xiàng):
1. 基線條件:遞歸必須有一個(gè)或多個(gè)終止條件,當(dāng)滿足該條件時(shí),遞歸將停止。
2. 遞歸條件:遞歸必須包含一些自我調(diào)用的步驟,
這些步驟需要將問(wèn)題分解為較小的子問(wèn)題。
每個(gè)子問(wèn)題都需要用相同的算法解決,并最終計(jì)算出最終答案。
3. 過(guò)程不重疊:每個(gè)遞歸調(diào)用必須解決不同的子問(wèn)題,以減少或消除冗余計(jì)算的可能性。
4. 子問(wèn)題結(jié)構(gòu)相同:遞歸必須采用相同的算法解決每個(gè)子問(wèn)題,以確保正確性和一致性。

日常學(xué)習(xí) 8.7 Java面向?qū)ο笕筇匦灾?繼承的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
望江县| 灯塔市| 太仆寺旗| 固安县| 永宁县| 西宁市| 应用必备| 金阳县| 巴南区| 区。| 孝感市| 平顶山市| 郑州市| 堆龙德庆县| 通辽市| 乌海市| 宁明县| 曲沃县| 疏勒县| 石景山区| 汝阳县| 确山县| 云龙县| 镇坪县| 克什克腾旗| 天津市| 卢氏县| 安龙县| 彰化县| 东光县| 庄河市| 安化县| 射阳县| 泾川县| 顺昌县| 文水县| 新泰市| 陆河县| 伊通| 潮安县| 永嘉县|