2021-2022-1學期20212408《網路空間專業導論》第四周學習總結
第四周自學任務仍是程式設計層的內容,但是相比於第六章、第七章的機械語言,組合語言,這兩章將進一步談論抽象和抽象容器以及高階設計語言。
目錄
第八章 抽象資料型別與子系統
8.1抽象資料型別
抽象資料型別:屬性(資料和操作)明確地與特定實現分離的容器。
資料結構:一種抽象資料型別中的複合資料域的實現。
容器:存放和操作其他物件的物件
兩種資料結構
1.棧:只能從一端訪問棧中的元素。可以在第一個位置插入元素也可以刪除第一個元素。
被稱為LIFO即後進先出。插入操作稱為push,刪除操作稱為pop.
2.佇列:從一端如另一端出
被稱為FIFO即先進先出。插入操作與刪除操作沒有標準的相關術語。
8.2 列表
列表通常提供插入一個專案的操作(insert)、
刪除一個專案的操作(delete)、檢索一個專案是否存在(isthere)
鏈式結構:一個將資料項和找到下一項位置的資訊儲存到同一容器的實現方法。
8.3 樹
不同於列表,棧,佇列的線性關係,樹是一種更為複雜的抽象結構
二叉樹:具有唯一起始節點的抽象複合結構,其中每個節點可以有兩個子女節點,根節點和每個節點之間都有且僅有一條路徑
根:樹中唯一的開始節點。
葉節點:沒有子女的樹節點。
8.4 圖
樹是表示層次結構關係的一種有效方式,其一個節點至多隻有一個指向它的節點。
如果去掉這個約束,就得到了另一種資料結構————圖
圖:由一組節點和一組把節點相互連線起來的邊構成的資料結構。
頂點:圖中的節點。
邊(弧):表示圖中兩個節點的連線的頂點對。
無向圖:其中的邊沒有方向的圖。
有向圖:其中的邊是從一個頂點指向另一個頂點(或同一個頂點)的圖。
鄰頂點:通過邊連線起來的兩個頂點。
路徑:連線圖中兩個頂點的一系列頂點。
8.5 子程式
1.引數傳遞
引數列表:程式中兩部分之間的通訊機制。
形參:列出子程式名後的括號中的識別符號。
實參:子程式呼叫中列在括號中的識別符號。
2.值參與引用引數
值參:由呼叫單元傳入實參的副本(寫在留言板上)的形參。
引入引數:由呼叫單元傳入實參的地址(寫在留言板上)的形參。
第九章 面向物件設計與高階程式設計語言
9.1.1 面向物件
物件:在問題背景中相關的事物或實體。
物件類或類:一組具有相似的屬性和行為的物件的描述。
欄位:表示類的屬性。
方法:定義了類的一種行為的特定演算法。
9.1.2 設計方法
1.頭腦風暴 2.過濾 3.場景 4.責任演算法
封裝:把資料和動作集中在一起,使資料和動作的邏輯屬性與它們的實現細節分離。
9.2 翻譯過程
編譯器:把高階語言編寫的程式翻譯成機器碼的程式
直譯器:輸入用高階語言編寫的程式,指導計算機執行每個語言指定的動作的程式。
位元組碼:編譯Java原始碼使用的標準機器語言。
9.3 程式設計語言範型
1.命令式範型
1.面向過程的範型
2.面向物件的範型
2.宣告式範型
1.函式式範型
2.邏輯程式設計
9.4 高階程學設計語言的功能性
布林表示式:一個識別符號序列,識別符號之間由相容的運算子分隔,求的值是true或false
(二)資料歸類
強型別比:每個變數都有一個型別,只有這種型別的值才能儲存到該變數中
資料型別:一組值以及能夠應用與這種型別的值的基本操作集合的說明
1.資料型別
整數
實數
字元
布林型
字串
2.宣告
把變數、動作或語言中的其他實體與識別符號關聯起來的語句,使程式設計師可以通過名字引用這些專案
保留字:一種語言中具有特殊意義的字,不能用它作為識別符號
區分大小寫:大寫字母與小寫字母被看作是不同的;兩個拼寫方法相同但大小寫形式不同的識別符號被看作是兩個不同的識別符號
(三)輸入/輸出結構
(四)控制結構
1.巢狀邏輯
2.非同步處理
非同步:不與計算機中的其他操作同時發生;換句話說,與程式的操作不同步
五、面嚮物件語言的功能性
(一)封裝
封裝:實施資訊隱蔽的語言特性
物件(問題求解階段):與問題背景相關的事物或實體
類(實現階段):物件的模式
物件類或類(問題求解階段):屬性和行為相似的一組物件的說明
物件(實現階段):類的一個例項
(二)類
例項化:建立類的物件
(三)繼承
繼承:類獲取其他類的屬性(資料欄位和方法)的機制
(四)多型
多型:語言在執行時確定給定呼叫將執行哪些可能的方法的能力
以下為本章知識的腦圖
總結:本週屬於基於六七章的拓展延伸,仍需課上聽講即課下實踐。