一些基礎概念的總結。。。。

2021-05-25 20:51:56 字數 1755 閱讀 4521

寫程式如寫作文?

先學語法,學三種流程結構。就相當於寫作文之前學字,句子。但是只會字和句子寫不了作文。想寫東西,有想法。寫程式也是要先要有想法,有了想法才能寫下去。

分析為王——物件導向問題分析

分析步驟 找物件->找物件的變數和方法(狀態和行為)

通過分析物件中相同的變數和方法,抽象出類

找類和類之間的關係

類和類之間的縱向關係 繼承

橫向關係 依賴,關聯(悟空和八戒的關係),

聚合(悟空和金箍棒)和組合(悟空和他頭)

class wukong

}class wukong

class wukong

面向過程和物件導向的區別

面向過程:更關注是步驟,先做什麼後做什麼

開始時候,人們考慮用計算機來幫我們幹事,從計算機的角度出發。計算機的想法大體事過程。

物件導向:更關注是功能,分析會先考慮有哪些物件

幹的的事情不多,用面向過程想計算機怎麼幹事完全可以的。專案擴大,物件導向的好處就出來了。因為從人的角度進行思考,更能解決大的問題。

物件和類的區別

everything is object;

類就是對物件的抽象

乙個類造很多個物件,是模板。通過類可以來生產(模式——工廠模式很常用)物件。

類的三個特性

封裝,繼承和多型

有了封裝才有繼承,有了封裝繼承才有多型。

什麼是封裝

封裝的是變數和方法,達到類裡面的變數只能夠通過類所提供方法才能改變。就是說如果這個類造出了乙個物件,那麼如果想改變這個物件的狀態,只能用有限的(所提供的)方法來改變。

沒有封裝前,程式在記憶體能夠執行。開闢的記憶體空間,誰都能訪問,能修改。很容易造成記憶體改變溢位,系統就崩潰了。所以提出封裝的概念。

經過長時間的實踐,才發現封裝比不封裝好。

繼承性子類完全繼承了父類的變數和方法

把父類成為基類,子類成為匯出類。

繼承的好處:實現了**的復用。

is a

is like a

子類可以加新方法,子類可以重寫一些方法。

override(覆蓋)子類把方法的實現重寫了

和 overload(過載)乙個類中兩個方法名同,引數不同

多型性乙個具體分析的例子(唐僧師徒四人坐飛機)

唐僧四人坐飛機去旅遊,途中飛機失事,可是降落傘只有三把.

於是,唐僧說了,大家來答題,答不出來的跳下去.

唐僧:悟空,天上有幾個太陽呀?

悟空:乙個.

唐僧:答對了,給你一把.

唐僧:沙僧,天上有幾個月亮啊?

沙僧:乙個.

唐僧:答對了,也給你一把.

一旁的八戒好開心,這麼簡單的問題.

唐僧:八戒, 天上有幾顆星星啊?

....

八戒跳了下去.

分析一下如何寫乙個程式

物件導向。

1.找物件

唐僧悟空

八戒沙僧

2.找物件中的屬性和方法(狀態和行為)

唐僧姓名

職業問問題()

判斷對錯()

跳飛機()

悟空姓名

職業答題()

跳飛機()

八戒姓名

職業答題()

跳飛機()

沙僧姓名

職業答題()

跳飛機()

3.類 **於物件

1)初級想法:幾個物件幾個類——四個類

2)相似的類——抽出一層

師傅類,徒弟類

3)根類——人類

一些TDD概念總結

回歸 新新增的 破壞了應用原本可以正常使用的功能 意外失敗 測試時意外失敗了,意味著測試中又錯誤,或者測試的時候發現了乙個回歸,因此要在 中修正 遇紅 變綠 重構 tdd 流程的一種描述方式 先編寫 測試看他失敗 遇紅 然後寫少量 讓他通過 變綠 最後重構,改進實現方式 三角法 新增乙個測試,專門為...

PCB的一些基礎概念

1.什麼是pcb?pcb printed circuit board 中文名稱為印製電路板,又稱印刷線路板,是重要的電子部件,是電子元器件的支撐體,是電子元器件電氣連線的載體。由於它是採用電子印刷術製作的,故被稱為 印刷 電路板。2.元器件的分類 插裝 組裝到印製板上時需要在印製板上打通孔,引腳在電...

C 的一些基礎概念

cpp中有預編譯指令 include其中iostream提供乙個命名空間的東西,標準命名空間是std c 中輸入輸出不能直接寫出以下形式 cin a cout a endl 別忘了要事先宣告命名空間中的變數!方式一 std cin a std cout a std endl using std co...