[Java][概念]Higher cohesion(高凝聚性)_Looser coupling(低相依性)

是不是一個好的程式有兩個指標可以判斷是否為高凝聚性,是否為低相依性。

Higher cohesion(高凝聚性)想表達的其實就是事物凝聚的狀態或程度。

Looser coupling(低相依性)想表達的是程式單元之間牽連相依的程度,模組之間的相依性越寬鬆愈好。

 

...繼續閱讀 »

[Java][老師範例][集合]List(未完)

List 
List 是一種Collection,作用是收集物件,並用索引的方式保留收集的物件順訊,其實作類別之一是java.util.ArrayList,API文件裡面,可以看到List介面定義了add()、remove()、set()等操作方法,List中的ArrayList與LinkedList的特性很像,如何區分兩者?​​

...繼續閱讀 »

[Java][老師範例][集合]Vector-Hashtable

 1.Hashtable

Hashtable 內部是一個"類似表格"的資料結構來儲存資料, 每一筆資料都有
   對應的索引鍵(key) , 這索引鍵是物件的型態 , 但是通常為方便起見, 大
   部份的情況都是利用"字串"值當做索引鍵(key). 反之當欲取出這筆資料時,
   也是利用剛剛所設定的索引鍵值來取出資料
 
 2.欲儲存不同的資料時必需用不同的索引鍵, 否則其索引鍵所對應資料值為最
   後儲存的那筆資料
 
 3.Hashtable 的資料也是物件的型態, 所以可以儲存任何形式的資料, 使用者
   取出資料的同時, 必須注意該資料的型態而自行作物件資料轉換(casting)的動作. 

...繼續閱讀 »

[Java][概念][集合]集合概念-Vector

Vector是一個可以放入「任意型態」的「動態陣列」,動態陣列的意思是可以依照裡面的內容物做長度的增減。

自從JDK1.2之後新的List介面出現後,Vector就加入了List介面家族,並實作新的介面方法。

Vector類別等同於ArrayList類別,那我們為什麼要學她?就用ArrayList就好啦

答案是,Vector它提供了同步化的優點(或是負擔),對多執行序是很重要的,所謂同步化的優點簡單來說就是JVM會去做同步鎖定,一次只能有一個人去做事,就不會有資源衝突,但也比較慢。

...繼續閱讀 »

[Java][概念][集合]集合概念-Iterator

集合物件:

  • 集合物件是指一群相關聯的資料,集合在一起組成一個物件
  • 集合物件裡的資料,稱為元素

集合物件分類:

  1. Collection介面:可以持有各自獨立的物件
    • Set:無特定順序,不准許重複,HashSet Class實作了Set介面
    • List:有特定順序,准許重複,ArrayList類別實作了List介面
  2. Map介面:持有成對的Key-value物件

 

...繼續閱讀 »

[Java][資策會][Lab-5]繼承練習

題目:產生一個名為Elephant的Class延伸至Animal Class

此類別有一個成員變數為name

有一個覆寫成員方法speak,用以列印父類別的兩個成員變數和自己的成員變數

最後再main()中分別透過建構子產生兩個Animal

  1. Animal年紀3歲體重8.0公斤
  2. 另一個為Elephant年紀、體重、名字為8歲,1200.0公斤,大象
...繼續閱讀 »