1. 本周學習總結
1.1 面向對象學習暫告一段落,請使用思維導圖,以封裝、繼承、多态為核心概念畫一張思維導圖,對面向對象思想進行一個總結。
2. 書面作業
1.clone方法
1.1 Object對象中的clone方法是被protected修飾,在自定義的類中覆寫clone方法時需要注意什麼?
1.2 自己設計類時,一般對什麼樣的方法使用protected進行修飾?以作業Shape為例說明。
1.3 在test1包中編寫簡單的Employee類,在test2包中建立一個TestProtected類,并在main中嘗試調用test1包中的Employee的clone方法克隆一個新對象,能否成功?為什麼?
答:1.1.projected關鍵字說明這是個被保護的方法,這個方法隻能被同包内的類和子類所通路;
并且Object類内的clone方法并沒有主體。因為所有類都是繼承Object類的,
是以clone方法肯定是可以進行重寫的,為了讓重寫後的clone方法可以被其他類調用,
可以使用public修飾clone方法。
1.2.Shape中的getPerimeter與getArea分别為計算面積與周長的方法,很明顯隻有繼承了Shape的子類才具有這兩種方法,是以可用protected修飾。
1.3.他們不在同一個包内,也不是繼承關系,是以不可能成功。可以插入import test1.Employee或者讓TestProtected繼承Employee類。
2.使用匿名類與Lambda表達式改寫題集面向對象2-進階-多态接口内部類的題目5-2
僅需粘貼關鍵代碼與運作結果,圖檔不要太大。
3.分析下列代碼,回答shapeComparator所指向的對象與Comparator接口有什麼關系?
Comparator<Shape> shapeComparator = new Comparator<Shape>() {
@Override
public int compare(Shape o1, Shape o2) {
//你的代碼
}
};
答:匿名内部類就是将compare進行重寫覆寫,建立了一個比較器,shapeComparator是實作了Comparator接口的,并且可以通過Collection.sort進行調用。
4.GUI中的事件處理
4.1 寫出事件處理模型中最重要的幾個關鍵詞。
4.2 使用代碼與注釋,證明你了解了事件處理模型。
答:4.1.最重要的關鍵字分别是事件源,事件對象和事件監聽器
5.結對程式設計:面向對象設計(大作業2-非常重要,未完成-2)
繼續完善上周的項目作業。考核點如下:
5.1 嘗試使用圖形界面改寫。
5.2 給出兩人在碼雲上同一項目的送出記錄截圖。
5.3 與上周相比,項目的主要改動是什麼?
上周的是代碼實作,這次的是要netbeans拖動實作,更加友善。
參考資料:
結對程式設計參考資料
使用Processon畫圖
視訊-使用Netbeans編寫GUI
重要:Swing實驗參考資料
JTable用法,用于呈現表格資料
Swing相關文章
3. 碼雲上代碼送出記錄及PTA實驗總結
3.1. 碼雲代碼送出記錄
在碼雲的項目中,依次選擇“統計-Commits曆史-設定時間段”, 然後搜尋并截圖
3.2. PTA實驗
函數(選做:4-1)、程式設計(5-3, 5-4)
一定要有實驗總結
1.第一個實驗主要是要求我們自定義接口,對棧中元素入棧出棧以及統計棧大小的操作。這題中我最大的一個問題是寫完以後無法運作,而且并沒有提示錯誤,後來才發現是括号不比對的問題。
2.第二題實驗主要是讓我們在一個類中建立另一個類,然後調用類中的方法找出最大最小值,并用該類的toString放大格式化輸出最大最小值。這題不難,沒有出現什麼大的問題。
轉載于:https://www.cnblogs.com/lsl321/p/6655480.html