軟體構造 Lab3

2021-09-24 09:19:08 字數 579 閱讀 2854

遇到的一些問題:

①按鈕***覆寫

由於我的gui的實現是由乙個基礎類和三個子類組成,其中基礎類的一些按鈕的***實現要在子類中覆寫,但是我一直找不到好的方法去覆寫,所以我直接在子類中遍歷了該按鈕的所有***,把它們都刪了然後重加

②正規表示式匹配

在這個實驗裡我發現了正規表示式的乙個好用的功能,比如在匹配如下資訊時:

string regex1="(socialtie ::= <)([\w,.\s]+)(>)";

由於真正有用的只有中間的一部分資訊,所以在使用正規表示式匹配時,可以將正規表示式用()分割,將有用的資訊分在一塊,然後在對應的matcher find()到的時候,呼叫matcher的group()方法,就可以只獲得想要的資訊了。

③關於map的使用

我在使用乙個key為自己寫的adt的map時出現過contains方法無法獲得正確結果的現象,查閱資料後發現map的contains方法是根據key物件的hashcode來進行判斷的,而我自己寫的adt中並沒有覆寫hashcode方法,導致contains的使用錯誤。所以以後如果要用map裝自己寫的adt時,一定要注意覆寫equals和hashcode方法。

軟體構造Lab3實驗總結

本次實驗是軟體構造課程當中工作量最大,且最為複雜的乙個。主要工作是實現乙個多軌道系統,在這個系統的基礎上完成三個應用。track game atom structure social network circle 三種應用都具有一定的多軌道結構。track game 中的軌道是跑道,atom str...

哈工大軟體構造lab3

3.1 待開發的三個應用場景 首先請列出你要完成的具體應用場景 至少3個,1和2中選一,3必選,4和5中選一,鼓勵完成更多的應用場景 行星系統 原子系統 社交網路 分析你所選定的多個應用場景的異同,理解需求 它們在哪些方面有共性 哪些方面有差異。他們都具有軌道,中心物體,軌道物體等屬性,但是各自具體...

HIT 軟體構造 Lab3之State模式

趕在深夜將之前實驗三中涉及到的狀態模式記錄下來,也當做是複習了。本部落格主要從三個角度來考慮。1.什麼是state模式?2.為什麼用state模式?3.如何使用state模式?簡要的介紹來說state模式就是 不同的狀態,不同的行為。也就是允許乙個物件,當其內部狀態改變時,改變其行為的方式。如上圖所...