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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象多态

發布時間:2025/3/14 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象多态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、多態【子類就是父類】

1、 為什么使用多態

提高程序可擴展性,可維護性,提高代碼可重用性

2、 什么是多態

具有表現多種形態能力的特征

同一個實現接口,使用不同的實例而執行不同的操作

3、 如何使用多態

l? 方法的參數類型是父類

訪問修飾符 返回類型 方法名(父類名 對象名){

……………………………………………….

}

n? 調用方法時,可以傳遞子類的對象

l? 父(子)類名 對象 = new 子類名();

l? 方法名(子類對象);

l? 方法的返回類型是父類

訪問修飾符 父類名 方法名([參數列表]){

??????? return 父類對象或子類對象;

}

4、 多態中子類和父類之間的轉換

a)??子類到父類的轉換(向上轉換)

父類 對象名 = new 子類();//自動進行轉換

對象名.方法名([值]);

??? ??????????? 向上轉換的使用規則:

l? 父類引用指向子類對象時稱為向上轉換或轉型(upcasting),自動進行類型轉換

l? 通過父類引用變量,調用的方法是子類覆蓋(重寫)或繼承父類的方法

l? 通過父類引用變量,無法調用子類特有的方法

b)父類到子類的轉換(向下轉換)——強制類型轉換,還原對象的真實面目(具體是哪種子類)

??????????????父類 對象名 = new 子類();

??????????????? 對象名.子類方法();//編譯有錯誤

?????? 應修改為:

??????????????? 父類 對象名 = new 子類();

??????????????? 子類 子類對象 =(子類)對象名;

??????????????? 子類對象.子類方法();

?

??? ??? c)、運算符instanceof

l? 作用:避免父類向子類進行轉換時出現異常,進行類型的判斷(判斷對象是否屬于一個類或實現了一個接口,返回一個布爾類型的值【true或false】)

l? 注意:該運算符,通常和強制類型轉換結合使用

if(對象名 instanceof 類名){

????類名 對象=(類名)對象名;

}

對象名和類名必須存在繼承關系,否則is語句編譯錯誤

轉載于:https://www.cnblogs.com/shuchongzeishuai/p/6991115.html

總結

以上是生活随笔為你收集整理的面向对象多态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。