# 20155226 2016-2017-2 《Java程序設計》第4周學習總結

1.教材學習內容

  1. 封裝,繼承,多態,是JAVA面向對象編程的三大特性.

1.封裝:是把客觀事物封裝成抽象的類,而且類能夠把本身的數據和方法只讓可信的類或者對象操做,對不可信的進行信息隱藏。封裝是類的特徵之一,像一些私有的,別的類不能夠訪問,都有訪問權限,比較安全。html

2.繼承:指這樣一種能力,它可使用現有類的全部功能,並在無需從新編寫原來的類的狀況下對這些功能進行擴展。java

==繼承有三種方式==c++

  • 實現繼承
  • 接口繼承
  • 可視繼承。

3.多態:簡單的說就是,容許將子類類型的指針賦值給父類類型的指針。編程

==實現多態有二種方式==c#

  • 方法覆蓋
  • 方法重載
    這裏舉一個書上的例子(這個遊戲RPG例子我以爲頗有成就感,知道遊戲的編制方法,經過對這四個代碼的充分理解,我終於搞清楚了什麼是繼承。):
    第一個是能夠運行的RPG軟件。

    被繼承的代碼

    劍士的定義

    魔法師的定義

    雖然SwordsMan與Magician沒有定義getName()、getLevel()、與getBlood()等方法,但從Role繼承了這些方法,因此就如同例子中能夠直接使用。
    繼承的好處就是若要將name、level、blood改成其餘名稱,那就只要修改Role.java就能夠了,只要是繼承Role的子類都無須修改。
    最後的運行結果

抽象類與接口的區別

- 抽象類是類,它的子類不能再繼承其它類了,但能夠實現一個和多個接口。接口不是類,它的子接口能夠繼承多個接口。設計模式

  1. 抽象類中是能夠有不用abstract修飾的方法,而接口中只能有抽象方法,即方法都要用abstract修飾。
  2. 抽象類能夠實現接口,而接口是不能繼承或實現抽象類的。

有人說,接口相似於抽象類,這是指它提供的方法只有方法頭,而抽象類也有這樣的狀況。但實際上,區別是很大的,接口提供了一種JAVA中類不能多繼承時引發的不便的一種解決方案,提升了靈活性。同時,接更有利於實現程序的擴展。數組

S.O.L.I.D原則

S.O.L.I.D.的設計原則
S.O.L.I.D.設計原則是一組面向對象設計的最佳實踐。GoF設計模式符合這些原則以這樣或那樣的方式。術語S.O.L.I.D.從羅伯特C。馬丁(朋友親切地叫他鮑勃叔叔)在敏捷原則的著做,模式的名字5設計原則和實踐在c#中收集的第一個字母。這些設計將遵循的原則。安全

1單一責任原則(SRP)函數

SRP原則和SoC原則保持高度的一致性。它要求每個對象都應該只有一個元素改變了且只有一個職責。這一原則,能夠避免單個類(如瑞士軍刀在軟件領域)。每一個類能夠保持簡潔,能加強系統的可讀性和可維護性。學習

2開閉原則((OCP)

(OCP原則要求類應該對擴展開放,修改應該關閉,這樣能夠添加新功能和擴展類不改變類的內部行爲。這一原則試圖避免破壞現有類和其餘類依賴它,由於這可能會致使應用程序中的錯誤和錯誤的連鎖反應。

3 Liskov替換原則(LSP)

太陽能發電原理指出,應該可以使用任何繼承類替換父類和維持其行爲不變。這一原則是一致的(OCP原則:確保繼承類不影響父類的行爲,換句話說,繼承類必須可以取代他們的基類。

4接口隔離原則(ISP)

有關ISP原則是合同責任將被分爲幾個方法分組、分組方法和分配不一樣的接口,所以,客戶端不須要實現一個大接口和一羣不使用。這背後的目的原則是使用相同的接口的類只須要實現一個特定的方法,而不是一個大單的實現方法的接口。

5依賴性倒置原則(浸)

浸漬的目的原則是獨立編寫的類的具體實現,這類依賴於抽象類或接口。它提倡面向接口(而不是實現)編程,確保代碼緊密耦合與一個特定的實現,從而提升系統的靈活性。

6依賴注入(DI)和控制反轉(IoC)原則

與傾角密切相關的是國際奧委會DI原理和原則。DI提供底層類或奴隸類的構造函數,方法或屬性。使用DI原則,這些奴隸類能夠倒到接口或抽象類,從而造成了一個鬆散耦合的系統可測試性高、容易修改。

****垃圾回收機制****

Java的垃圾回收機制是Java虛擬機提供的能力,用於在空閒時間以不定時的方式動態回收無任何引用的對象佔據的內存空間。

Object 數據類型

Object 數據類型保存引用對象的 32 位(4 字節)地址。能夠爲 Object 的變量分配任何引用類型(字符串、數組、類或接口)。 Object 數據類型能夠指向任意數據類型的數據,包括您的應用程序識別的任意對象實例。當在編譯時不知道變量可能指向哪一種數據類型時,就使用 Object。

Enum

學習C / c++語言,應該的枚舉類型。Enum一般是用來表示一組相同類型的常量。如性、日期、月、顏色等。爲這些屬性在恆定的好處很明顯,不只能保證單一的狀況下,它能夠用來取代「= =」=。是一個好習慣。JDK1.5沒有這種類型的枚舉,當接口的通用取代常數。JavaEnum,你能夠更接近常數。

==如何使用Java Enum 2==

簡單的用法:JavaEnum簡單用法一般是用來表示一組經常使用的常數,能夠用來表明一個類的相同類型的常量值。

如:sex:

public enum SexEnum {

man、woman

};

color:

public enum color {

red,blue,green,black

}

枚舉對象中的值必須是惟一的。
您可使用枚舉類型名來引用常量,例如SexEnum。男,Color.RED。

教材中解決的問題

1. print與println的區別

println打印的時候自帶了換行,下一次在打印的時候從下一行開始打印。

print不換行,下次打印的時候在此次打印的東西后面直接打印。

代碼調試中的問題和解決過程

本週代碼託管截圖

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 50/50 2/2 9/20
第二週 50/100 2/4 10/38
第三週 100/200 3/7 8/60
第四周 217/317 2/9 18/90

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法

參考資料

相關文章
相關標籤/搜索