iT邦幫忙

0

進擊的軟體工程師之路-軟體戰鬥營 第二週

Lin 2021-03-06 11:22:11305 瀏覽

學習進度

  1. 第一週的練習小考與檢討

  2. 課後練習與習題檢討

  3. 繼承、多型與介面

    • 繼承(extends)原則與使用方法
    • 父類別、子類別
    • 存取修飾詞(protected、default)
    • 多型原則與使用方法
    • @Override、super
    • 非存取修飾詞(abstract)
    • 介面(implements)
  4. 課後練習

    • 封裝-人員管理系統、卡牌遊戲
    • 繼承-動物(貓、狗等)、形狀(圓形、長方形等)
    • 介面-學生排序、骰子遊戲
     **小考題目-撲克牌洗牌
  5. 課外補充

    • 設計原則

心得感想

  本週課程從封裝進入到繼承&多型,在名詞解釋如修飾詞,以及使用方式滿容易理解的,但在概念上完全更加抽象與難以理解,尤其在加入介面後,原本的封裝性都需要重新思考,一直很難理解為什麼要使用介面,勤奮點多打點CODE就能完成的事,甚至一時間何時可以用繼承何時可以用介面都完全搞混,雖然透過練習勉強知道怎麼使用,但概念上完全不行啊!!聽到下週小考就是針對多型跟介面就知道這週假日注定報銷了,另外這週的練習量大概是上週的一倍,透過大量練習越來越熟悉在打CODE的同時腦海中有個IDE同步思考自己的邏輯步驟,已經漸漸的可以不用邊打邊DEBUG,而且在完成CODE的同時真的滿滿的成就感,也越來越喜歡寫CODE,每次專注都好像進入精神時光屋,一眨眼就過好幾個小時,跟以前上班就是打發時間等下班的生活完全天壤之別,加上很喜歡跟班上同學的互動,很喜歡彼此互相照應,還可以聊天打屁的感覺,完全不會有衝刺班那種高壓的氣氛(可能只是一開始?),在這完全是一個溫馨學習寫程式的地方,也讓我越來越期待結業後的自己會變得怎樣!

下週目標

  1. 更加熟悉繼承、多型與介面的應用
  2. 理解多型與介面之間的邏輯

課後練習題目

題目太多,就不一一貼上
//請撰寫一個程式 功能如下:
    //有一個類別 Animal   類別中至少有 name(String) weight(float)
    //有一個類別Dog繼承至Animal
    //有一個類別Cat繼承至Animal
    //有一個類別Mouse繼承至Animal
//請撰寫一個類別為 AnimalArray 並實現以下功能
    //可以新增一個動物(於尾端)
    //可以插入一個動物(於指定位置)
    //可以刪除一個動物(指定位置)
    //可以依照動物的姓名排序動物(String compare)
    //可以依照動物的體重排序動物
    //可以按當前array中的順序印出所有動物
    //可以依照指定姓名查找動物(只會有一個)
    //可以依照指定字母開頭找出相同字母開頭姓名的動物(會有多個)
    //可以依照體重的大小(min~max)篩選動物
    //可以依照動物的種類篩選動物

//1.撰寫一個程式實現以下功能(使用介面完成)
	//A.請撰寫一個類別DiceGame
		//i.創建DiceGame時可以指定要使用的骰子數量、獲勝的規則、進行回合數
		//ii.骰子數量必須為 3~6
		//iii.進行回合數必須大於0且為奇數
		//iv.獲勝規則有 點數大者勝、點數小者勝、相同點數多者勝
	//B.請撰寫一個主程式依照以下流程執行
		//i.讓使用者指定骰子數量(3~6)
		//ii.讓使用者選擇獲勝規則(1~3)
		//iii.讓使用者選擇進行回合數
		//iv.進行遊戲並顯示最終勝利者
		//v.重新回到B-i步驟
//備註: 
//1.骰子數量、獲勝規則、進行回合數皆必須為DiceGame的屬性
//2.玩家數量永遠為2,請寫死於DiceGame中

尚未有邦友留言

立即登入留言