oop:面對對象程序員
特色:算法
繼承:在一個父類基礎擴展子類的屬性和行爲,生成一個新子類。編程
多態:父類的指針指向子類而調用子類的方法工具
封裝:細節性訪問,對不可信信息進行隱藏。oop
裝箱:將值變爲引用類型性能
拆箱:將引用類型變爲值類型學習
內存分類:動畫
棧:先進後出 參數/new 值類型/申明變量spa
堆:new的引用類型分配在堆上 (還有ref和out結合起來可學習一下)操作系統
全局變量:static 靜態 const 常量
代碼區;編譯的方法(基本用不着)
下面有個須要注意的小問題Button的事件最好在堆上開闢
進程 線程 協程的區別?
1,進程擁有本身獨立的堆和棧。(既不共享堆,亦不共享棧,進程由操做系統調度)
2,線程擁有本身獨立的棧和共享的堆。(共享堆,不共享棧,線程亦由操做系統調度(標準線程是的))(線程是在主線程裏開闢的(和主線程不是並列關係,不能在同一時間啓用同一資源))
3,協程和線程同樣共享堆,不共享棧,協程由程序員在協程的代碼裏顯示調度。(協程是在主線程裏開闢的,不須要開鎖)
一個應用程序通常對應一個進程,一個進程通常有一個主線程,還有若干個輔助線程,線程之間是平行運行的,在線程裏面能夠開啓協程,讓程序在特定的時間內運行。
協程和線程的區別是:協程避免了無心義的調度,由此能夠提升性能,但也所以,程序員必須本身承擔調度的責任,同時,協程也失去了標準線程使用多CPU的能力。
lock 一個鎖(具體可細查)
類的設計原則
1,單一原則:每個類分工明確,就好比說動畫就是動畫。
2,開閉原則:對外擴展開放,對內修改關閉(屬性)
3,依賴倒置原則:指的是抽象不該該依賴細節,細節應該依賴於抽象,也就是提出的「面向接口編程,而不是實現編程」
4,接口隔離原則:指的是多個單一接口比使用單一的總接口要好。
5,里氏替換原則:子類能夠替換父類。
6,合成複用原則:就是在一個新對象裏面已有的對象,使之成爲新對象的一部分。
7,迪米特原則:也叫最少知識原則,儘可能少引用別的類。
根據類的原則設計模版模塊(上面👆提過一下)
1,工廠模塊:new同類型的東西,比較多的時候用到。
2 ,單例模塊:多用於工具類的單例適用於方法調用。
3,觀察者模式:多個對象同時觀察一個對象的動態(多播委託)。
4 ,組合模塊:將散的東西集中到一塊。
5,建造者模塊:相似金字塔管理制度。
6,中介者模塊:寫一個基類定義,而後讓其全部子類實現。
7,狀態模式:容許對象在內部狀態時,改變他的行爲。
8,策略模式:定義一系列算法,將每個算法封裝起來,並讓它們能夠相互替換。
上面這是集中經常使用的設計模塊具體可細研究