促銷活動
CodeGym University
學習
課程
任務
問卷及小測驗
遊戲
幫助
學習提醒時程表
社群
使用者
論壇
聊天
文章
成功故事
活動
評論
訂閱
亮色主題
課堂
評論
關於我們
開始
開始學習
現在就開始學習
探索地圖
課堂
所有探索
所有等級
您已完成模塊 2 — Java 核心
Module 2: Java Nkyem
等級 1,
課堂 0
祝賀您進入 Java 大學的下一階段學習。前面有很多有用的新知識,可以幫助您成為軟件開發專家。 您將在 Java 核心模塊中學到什麼 面向對象: 封裝,多態。接口 超載,壓倒一切。抽像類 組合、聚合、繼承 流API 類型轉換、instanceof、switch 表達式 調用構造函數的細微差別。靜態塊。 Object類的組織:equals()、hashCode()、clone()、toString()。不可變對象 遞歸 線程簡介: 線程,可運行,啟動,睡眠 同步的,易變的,等待
OOP:基本原則
Module 2: Java Nkyem
等級 1,
課堂 1
“你好,阿米戈!今天我要為你打開一個新的有趣的世界。我說的是面向對象編程(OOP)。你已經了解了類和對象。今天你要去了解更多關於他們的信息,更多。” 我們將從 OOP 的四大支柱開始。它們是抽象、封裝、繼承和多態。(以前是三個,後來抽像出來的) 1)抽象。 現實生活中抽象的一個很好的例子是公司的職位描述。職稱是一回事,但其職責是完全不同的事情。 想像一下,您正在為您未來的公司創建組織結構圖。你可以將秘書的職責分攤到其他幾個職位上。您可以將 CEO 的工作拆分為幾個獨立的職位:
為什麼我們需要 OOP?
Module 2: Java Nkyem
等級 1,
課堂 2
“你好,阿米戈!我想讓你了解 OOP 的目的。所以我要給你講個故事。” 曾經有一家小公司,將貨物運送到外太空…… “像銀河衝刺?” “是的,像銀河衝刺。5個人在那里工作。第一個負責財務,第二個在倉庫工作,第三個負責運輸,第四個負責廣告,第五個負責監督。” 他們努力工作並蓬勃發展。這家公司名聲很好,賺了很多錢。訂單數量每年都在增加,因此首席執行官不得不僱用更多員工。幾個負責倉庫,幾個負責運輸,另一個收銀員和一個營銷人員來增加銷售額。 這是問題開始的時候。人員多了,開始相互干擾。
OOP的另一種解釋(松耦合,緊內聚)
Module 2: Java Nkyem
等級 1,
課堂 3
“你好,阿米戈!我想告訴你 OOP 的另一個好處。你看,程序更像是動物而不是建築。它們不是建造的,而是成長的。發展意味著不斷的變化。在建設中,你可以有一個好的計劃並嚴格執行。但在軟件開發中,情況並非如此。” 很多時候,您無法按照預期的方式做某事,您必須對程序進行大量返工。更常見的是,客戶的要求會發生變化。 “但如果客戶提供了非常詳細的規格呢?” “看看隨著時間的推移會發生什麼。如果產品成功,客戶將希望發布一個新版本,然後是另一個版本,然後是另一個版本。而且,當然,你必須做出一
封裝
Module 2: Java Nkyem
等級 1,
課堂 4
“你好,阿米戈!我想把今天的講座獻給封裝。你已經對它有一個大概的了解了。” 那麼封裝有什麼好處呢?有很多,但我會指出四個在我看來最重要的: 1) 有效的內部狀態。 程序通常有幾個與同一對象交互的類。通過同時與對象的內部數據交互,它們可能會破壞對象的數據完整性,導致對象停止正常工作。 因此對象必須跟踪對其內部數據的任何更改,或者更好——它應該是進行這些更改的人。 如果我們不希望某個類變量被其他類更改,那麼我們將其聲明為private,這意味著只有該類的方法才能訪問它。如果我們希
封裝原理
Module 2: Java Nkyem
等級 1,
課堂 5
你好!讓我們將今天的課程專門用於封裝,並立即開始示例 :)這是一個。我有一個問題要問你:它是如何運作的?盡量提供詳細的回答:杯子是從哪裡來的,內部溫度是如何保持的,冰是儲存在哪裡的,機器是怎麼知道加哪種糖漿的等等?你可能沒有這些問題的答案。很公平,因為不是每個人都使用這樣的機器。他們現在不那麼受歡迎了。讓我們再舉一個例子。您每天肯定會多次使用的東西。哦,這是一個主意!如何作品。它究竟如何搜索與您輸入的詞相關的信息?為什麼某些結果排名靠前而不是其他結果?即使您每天都使用 Goo
多態性和覆蓋
Module 2: Java Nkyem
等級 1,
課堂 6
“朋友,你喜歡鯨魚嗎?” “鯨魚?沒有,從沒聽說過。” “就像牛,只是體型更大,會游泳。順便說一下,鯨魚是牛進化而來的。呃,至少它們有一個共同的祖先。沒關係。” “聽好了。我想告訴你另一個非常強大的 OOP 工具:多態性。它有四個特性。” 1) 方法覆蓋。 想像一下,您已經為遊戲編寫了一個“Cow”類。它有很多成員變量和方法。這個類的對象可以做各種事情:走路、吃飯、睡覺。奶牛走路時也會搖鈴。假設您已經將課程中的所有內容都實現到了最小的細節。 然後客戶突然說他想發布一個新的遊戲
該級別的附加課程
Module 2: Java Nkyem
等級 1,
課堂 7
深入理解 OOP 及其關鍵原則將有助於您更好地理解 Java 語言的結構並編寫出良好的代碼。此資源選擇包括幾篇文章,這些文章將教您 OOP 基礎知識以及一些有用的細微差別。 面向對象編程的原則 如果您想知道為什麼 Java 是這樣設計的,而不是其他方式,那麼是時候看看編程理論——OOP 的原則了。這個詳細的課程將教您什麼是面向對象編程,並解釋繼承、抽象、封裝和多態性。然後您將看到如何在 Java 中實現這些原則的示例。 面向對象的原則 這是關於 OOP 的另一課。它將使用示例
抽像類
Module 2: Java Nkyem
等級 2,
課堂 0
“你好,阿米戈!我們有一個有趣的新話題。” “今天真是話題多多的一天!” “為什麼要謝你!” “不客氣。” “還記得我們引入 ChessItem 基類來簡化所有棋子類嗎?” “是的。” “現在假設每個棋子都有一個方法來處理在屏幕上渲染棋子。您調用該方法,棋子會在其當前坐標處自行繪製。將此方法移至基類中是否有幫助?” “是的。” 在了解多態性之後,我將能夠為所有片段調用 render 方法,而不管它們是什麼類型。像這樣的東西:“ 例如: class ChessBoard
Java中抽像類的具體例子
Module 2: Java Nkyem
等級 2,
課堂 1
你好!讓我們談談Java中的。 您可能還記得抽像是什麼——我們之前討論過 :) 如果您忘記了,不用擔心。請記住,說,在設計類和創建對象時,您應該只表示實體的主要屬性並丟棄次要屬性。例如,如果我們正在設計一個班級,可能不是教師的必要屬性。事實上,這個特徵對於老師來說並不重要。但是如果我們要創建一個類,那麼將是最重要的特徵之一。好吧,一個是一組未來類的最抽象、“粗糙的工件”。工件不能直接使用——太“粗糙”了。但它定義了未來類(抽像類的後代)將具有的某些特徵狀態和行為。 考慮一個簡
訪問修飾符、方法覆蓋和實現抽象方法
Module 2: Java Nkyem
等級 2,
課堂 2
“我將向您介紹 «訪問修飾符»。我之前講過一次,但重複是學習的支柱。” 您可以控制其他類對您的類的方法和變量的訪問(可見性)。訪問修飾符回答了“誰可以訪問這個方法/變量?”這個問題。您只能為每個方法或變量指定一個修飾符。 1) « public » 修飾符。 可以從程序中的任何位置訪問標有public修飾符的變量、方法或類。這是最高程度的開放:沒有限制。 2) «私有»修飾符。 標有private修飾符的變量、方法或類只能在聲明它的類中訪問。標記的方法或變量對所有其他類都是隱
重載方法
Module 2: Java Nkyem
等級 2,
課堂 3
“你好,阿米戈!我要給你講講方法重載。” “你也可以讓它們超載?!多棒的一天!” “你可以用它們做很多事情,但我們現在不會討論那個。” “就這麼說定咯。” “重載是一個非常簡單的操作。實際上,它甚至不是對方法的操作,儘管它有時被稱為一個可怕的名字:參數多態性。” 您必須記住的是,類中的每個方法都必須有一個唯一的名稱。 “是的,我知道。” “嗯,這不完全正確。我的意思是,這根本不正確。一個方法不必有唯一的名稱。必須唯一的是方法名稱及其參數類型的組合。這種組合也是稱為方法簽名。”
顯示更多
1
...
12
13
14
15
16
...
35
Please enable JavaScript to continue using this application.