軟體構造課程心得(5)

2021-10-05 19:27:17 字數 1231 閱讀 5854

最近做了lab3,對介面和繼承又有了種種新的認知,在這裡想和大家分享。

首先是介面可以接收該介面的各種子類,由此來完成多個不同類的統一接收,如圖

這是乙個state介面

而下圖(以createdstate為例)是這個state介面的各種子類,createdstate,givedstate,blockedstate,canceledstate,beginedstate,finishedstate;

而當我想用乙個變數來表示這六個不同的類的時候,我們就可以直接將這個變數定義為介面類

也就是state類,在將這個變數賦值之後,介面類變數中原本空的方法就會被賦值類中的同名方法所取代,也就是說

只需要定義乙個變數state k,然後如下操作

就可以將k改變未givestate類,非常方便。

而之後我又在想是否變數也和方法一樣,可以從子類賦予父類中的同名變數。

賦予不同的值,然後用abc類變數來給find類變數賦值,然後看find中的a,k是否發生改變。

下圖是執行結果

我們發現find中的變數並沒有被改變。然而當我們把abc類稍稍改變一下

結果如下

我們發現竟然成功改變

這是因為當我們將abc中的a,k刪除時,我們再次改變的a,k就是abc從父類find中獲取的,所以可以直接賦值到find中。

軟體構造課程心得(8)

在完成lab4之後,我對日誌有了很多自己的理解,這裡與大家分享一下。日誌的建立其實很簡單 首先定義乙個日誌類 然後輸出任意的字串,只需要這兩步操作我們就生成了日誌 但是,我們的日誌不能僅僅輸出,我們也要用txt檔案將每個日誌的詳細資訊記錄下來,所以我們就要進行下面的操作 首先建立filehandle...

軟體構造課程

課程目標 在高階語言程式設計的基礎上,認識軟體構造的質量標準與目標,學習軟體 構造的基本過程,從而具備面向質量目標的複雜軟體構造方法與能力 深入學習抽象資料型別 adt 與物件導向程式設計 oop 初步掌握面向關鍵質量目標 可理解性 可維護性 可復用性 健壯性 時 空效能 的軟體構造基本技術 了解軟...

軟體構造課程 ADT

abstract data types可簡單理解為乙個封裝的型別,它不需要提供各種詳細的資訊,但是可以有強大的功能。它具有一定的防禦性,只對外提供一些操作,但是內部可以是各種複雜的函式。對於乙個抽象類操作它的型別主要有4種 t非此型別的資料 t則為該資料型別。creators t t。比如對於int...