CodeGym University
學習
課程
任務
問卷及小測驗
遊戲
幫助
學習提醒時程表
社群
使用者
論壇
聊天
文章
成功故事
活動
評論
訂閱
亮色主題
課堂
評論
關於我們
開始
開始學習
現在就開始學習
探索地圖
課堂
Java 核心
等級 2
您已達到第 12 級!
Java 核心
等級 2,
課堂 0
12級
多態性和覆蓋
Java 核心
等級 2,
課堂 1
“朋友,你喜歡鯨魚嗎?” “鯨魚?沒有,從沒聽說過。” “就像牛,只是體型更大,會游泳。順便說一下,鯨魚是牛進化而來的。呃,至少它們有一個共同的祖先。沒關係。” “聽好了。我想告訴你另一個非常強大的 OOP 工具:多態性。它有四個特性。” 1) 方法覆蓋。 想像一下,您已經為遊戲編寫了一個“Cow”類。它有很多成員變量和方法。這個類的對象可以做各種事情:走路、吃飯、睡覺。奶牛走路時也會搖鈴。假設您已經將課程中的所有內容都實現到了最小的細節。 然後客戶突然說他想發布一個新的遊戲
多態任務
Java 核心
等級 2,
課堂 2
“你好,阿米戈!這裡有幾百個關於多態性的任務。” “咦?還要一百個功法?!” “我在開玩笑。只有十個。我是說,五個。”
重載方法
Java 核心
等級 2,
課堂 3
“你好,阿米戈!我要給你講講方法重載。” “你也可以讓它們超載?!多棒的一天!” “你可以用它們做很多事情,但我們現在不會討論那個。” “就這麼說定咯。” “重載是一個非常簡單的操作。實際上,它甚至不是對方法的操作,儘管它有時被稱為一個可怕的名字:參數多態性。” 您必須記住的是,類中的每個方法都必須有一個唯一的名稱。 “是的,我知道。” “嗯,這不完全正確。我的意思是,這根本不正確。一個方法不必有唯一的名稱。必須唯一的是方法名稱及其參數類型的組合。這種組合也是稱為方法簽名。”
練習重載方法
Java 核心
等級 2,
課堂 4
“你好,阿米戈!是我——又是我。我給你準備了一份禮物:一堆有趣的任務。不用謝我。放輕鬆!”
抽像類
Java 核心
等級 2,
課堂 5
“你好,阿米戈!我們有一個有趣的新話題。” “今天真是話題多多的一天!” “為什麼要謝你!” “不客氣。” “還記得我們引入 ChessItem 基類來簡化所有棋子類嗎?” “是的。” “現在假設每個棋子都有一個方法來處理在屏幕上渲染棋子。您調用該方法,棋子會在其當前坐標處自行繪製。將此方法移至基類中是否有幫助?” “是的。” 在了解多態性之後,我將能夠為所有片段調用 render 方法,而不管它們是什麼類型。像這樣的東西:“ 例如: class ChessBoard
抽像類練習 | 2級
Java 核心
等級 2,
課堂 6
“你好,阿米戈!你在之前的練習中做得很好,所以我決定給你找一個更難的練習。” “謝謝,迭戈。你是一個真正的朋友。我沒想到!!!”
接口
Java 核心
等級 2,
課堂 7
“你好,阿米戈!今天你要有一些發現。今天的主題——請敲鼓——是接口。 ” “是的。今天太棒了,我要回家洗澡了。” “一個接口是抽象和多態性的孩子。接口非常像一個抽像類,其中所有方法都是抽象的。它的聲明方式與類相同,但使用關鍵字。以下是一些示例:interface” 代碼 描述和事實 interface Drawable
接口不僅僅是接口。這是一種行為。
Java 核心
等級 2,
課堂 8
“你好,阿米戈!又是我。我想給你關於接口的另一種觀點。你看,大多數時候類是特定對象的模型。相比之下,接口更像是對象的能力或角色,而不是對象本身。” 例如,汽車、自行車、摩托車和車輪等事物最好表示為類和對象。但是他們的能力,比如“我可以移動”、“我可以載人”和“我可以停車”,最好用界面來表示。看看這個例子: Java代碼 描述 interface Moveable
接口任務
Java 核心
等級 2,
課堂 9
“你好,阿米戈!很快你就會夢到界面了。所以我要是你就睡不著了。不行!哈哈哈!這裡有幾個小練習給你,願界面永遠留在你的腦海裡。” “
來自教授的有用鏈接 — 12
Java 核心
等級 2,
課堂 10
“好吧,你好,阿米戈!好消息!我正在結束超級準確預測器的工作!” “酷。它有什麼作用?它會預測我什麼時候會成為一個很酷的程序員嗎?” “嘿,別著急,我的小機器人!我沒看那麼遠,但我已經知道了……” “什麼?!” “……我看你這週學習的題目會來找我,所以,我提前給你準備了額外的材料,幫你搞定一切。” 如何使用多態 “多態的主要優點是靈活性。一方面,你可以像處理同一種數據類型一樣處理多種數據類型。另一方面,你仍然可以保留對象的特殊行為。你什麼時候需要轉換成一個通用的類型以及什麼時
摩爾斯電碼
Java 核心
等級 2,
課堂 11
“你好,阿米戈!你要去哪裡?已經開始了,我們一起去吧。”
顯示更多
1
2
Please enable JavaScript to continue using this application.