2021-2022-1 20211322肖權城 《資訊保安專業導論》第8周學習總結
阿新 • • 發佈:2021-11-13
2021-2022-1 20211322 《資訊保安專業導論》第8周學習總結
作業資訊
這個作業屬於哪個課程 | [2020-2021-1資訊保安專業導論](https://edu.cnblogs.com/campus/besti/2020-2021-1fois) |
---|---|
這個作業要求在哪裡 | 2020-2021-1資訊保安專業導論第8周作業 |
這個作業的目標 | 功能設計與面向物件設計,面向物件設計過程,面嚮物件語言三要素,彙編、編譯、解釋、執行 |
作業正文 | https://www.cnblogs.com/xiaoquancheng/ |
教材學習內容總結
電腦科學導論
- 功能設計與面向物件設計
- 面向物件設計:底層概念:類和物件
- 物件:在問題背景中相關的事物或實體
物件類或類:一組具有相似的屬性和行為的物件的描述
欄位:表示類的屬性
方法:定義了類的一種行為的特定演算法
- 設計方法與過程:
- 頭腦風暴:一種集體求解的方法,包括集體中每個成員發言
過濾:篩選去除重複
場景:分配責任並封裝資料與動作
責任演算法:為責任編寫演算法
- 翻譯過程
- 翻譯
- 編譯器:把用高階語言編寫的程式翻譯成機器碼的程式
- 直譯器:輸入用高階語言編寫的程式,指導計算機執行每個語句指定的動作的程式
- 位元組碼:編譯Java原始碼使用的標準機器語言,任何具有JVM的機器都可以執行編譯過的Java程式
- 翻譯過程:將組合語言輸入到彙編器中,彙編器會將組合語言翻譯為機器語言,然後機器再執行機器語言
- 彙編,編譯,解釋和執行的區別
- 彙編:將組合語言翻譯為機器語言的行為
- 編譯:將高階語言翻譯為機器語言的行為,如DevC++時,輸入的C語言程式碼需要先通過編譯翻譯為機器語言後才能執行程式
- 解釋:對於原始碼中的每一條指令,都依次翻譯成目標指令,並且執行,這個行為是不會輸出機器語言的,而是直接執行目標指令的
- 執行:即執行所寫的程式碼或演算法
- 面嚮物件語言的三要素:封裝,繼承,多型
看漫畫學python
類的性質與方法
class Person: 【創造類】 name='xiao quan cheng' age=20 【#對應人的特徵 屬性】 def eat(self): 【 #對應人的行為 方法】 print('eat more') pass def run(self): print('run fast') pass
類的呼叫,物件的建立
類相當於製造汽車的圖紙,用這個圖紙製造的汽車相當於物件
類:是具有一組 相同或者相似特徵的【屬性】和行為【方法】的一系列物件的集合
物件:是實實在在的一個東西,類的例項化,具象化
xiao=Person()
xiao.eat() #呼叫類的方法
print('{}的年齡是{}'.format(xiao.name,xiao.age)) #呼叫類的屬性
例項方法:在類的【內部】,使用def關鍵字來定義 第一個引數預設是self【名字標識可以是其他的名字,但是這個位置必須被佔用】
屬性:在類的內部定義的變數,定義在方法外面的屬性稱之為類屬性,定義在方法裡面的使用self引用的屬性被稱為例項屬性
類屬性:在類的內部定義的變數【類屬性】
例項屬性:在方法內部定義的【通過類似於self.變數名】變數
class People():
def eat(self):
print('eat more and more ')
pass
xq=People()
xq.name='xiao qie' #可在建立物件的時候新增例項屬性
xq.sex='boy'
xq.age=20
xq.eat()
xl=People()
xl.name='xiao qie' #可在建立物件的時候新增例項屬性
xl.sex='boy'
xl.age=20
建立例項屬性、
lass People():
def __init__(self,name,sex):
self.name=name
self.sex=sex
def eat(self):
print('eat more and more ')
pass
xqc=People('肖權城','男性')
print('{}的性別是{}'.format(xqc.name,xqc.sex))
cym=People('陳怡蒙','女孩')
print('{}的是一個{}'.format(cym.name,cym.sex))
關於私有變數的性質
在方法與變數性質前面加上--即為私有方法
只能在內部呼叫,外部無法呼叫、
若想要將私有變數呼叫,則可以採用函式的方法
class Dog:
def __init__(self,name,age,sex='雌性'):
self.name=name
self.__age=age
def get_age(self):
return self.__age
def change-age(self,age):
self.__age=age
類的繼承性
**可將父類的公有成員變數和方法全部繼承 **
異常處理
教材學習中的問題和解決過程
- 問題1:不理解為什麼面嚮物件語言的三要素是封裝,繼承,多型
- 問題1解決方案:查詢網上資料,參考網站
- 問題2:不理解什麼叫例項屬性
- 問題2解決方案:查詢資料,例項屬性是指定義在方法裡面的使用self引用的屬性被稱為例項屬性,在方法內部定義的【通過類似於self.變數名】變數
程式碼除錯中的問題和解決過程
- 問題1:init函式使用不來
- 解決方案:多讀教材,使用雙下劃線
上週考試錯題總結
1.The general case of a recursive solution determines when the recursion stops.
遞迴解決方案的一般情況決定了遞迴何時停止。
這個題的答案是錯誤,因為遞迴不全部由解決方案決定
學習進度條
程式碼行數 | 部落格量 | 學習時間 | 重要成長 |
---|---|---|---|
目標 | 4000行 | 30篇 | 400小時 |
第一週 | 100/100 | 2/2 | 1/1 |
第二週 | 200/300 | 2/4 | 2/3 |
第三週 | 100/400 | 1/5 | 4/7 |
第四周 | 300/700 | 1/6 | 10/17 |
第五週 | 300/1000 | 1/7 | 10/27 |
第六週 | 300/1300 | 1/7 | 12/39 |
第七週 | 400/1700 | 1/8 | 13/52 |
第八週 | 300/2000 | 1/9 | 8/60 |