1. 程式人生 > 其它 >2021-2022-1 20211322肖權城 《資訊保安專業導論》第8周學習總結

2021-2022-1 20211322肖權城 《資訊保安專業導論》第8周學習總結

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/

教材學習內容總結

電腦科學導論

  1. 功能設計與面向物件設計
  • 面向物件設計:底層概念:類和物件
  • 物件:在問題背景中相關的事物或實體
    物件類或類:一組具有相似的屬性和行為的物件的描述
    欄位:表示類的屬性
    方法:定義了類的一種行為的特定演算法
  1. 設計方法與過程:
  • 頭腦風暴:一種集體求解的方法,包括集體中每個成員發言
    過濾:篩選去除重複
    場景:分配責任並封裝資料與動作
    責任演算法:為責任編寫演算法
  1. 翻譯過程
  • 翻譯
    • 編譯器:把用高階語言編寫的程式翻譯成機器碼的程式
    • 直譯器:輸入用高階語言編寫的程式,指導計算機執行每個語句指定的動作的程式
    • 位元組碼:編譯Java原始碼使用的標準機器語言,任何具有JVM的機器都可以執行編譯過的Java程式
    • 翻譯過程:將組合語言輸入到彙編器中,彙編器會將組合語言翻譯為機器語言,然後機器再執行機器語言
  1. 彙編,編譯,解釋和執行的區別
  • 彙編:將組合語言翻譯為機器語言的行為
  • 編譯:將高階語言翻譯為機器語言的行為,如DevC++時,輸入的C語言程式碼需要先通過編譯翻譯為機器語言後才能執行程式
  • 解釋:對於原始碼中的每一條指令,都依次翻譯成目標指令,並且執行,這個行為是不會輸出機器語言的,而是直接執行目標指令的
  • 執行:即執行所寫的程式碼或演算法
  1. 面嚮物件語言的三要素:封裝,繼承,多型

看漫畫學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