C#之全域性觀
C#看完的過程中,沒有能夠及時的總結,導致後面的學習效率沒有提上去,已經看過的知識,到後面的學習中,沒有了印象。學習和做事一樣,從一開始就應該有一個巨集觀上的瞭解,看視訊的時候,可以把每一集快速的瀏覽一下,然後對每一集視訊簡單的畫一個思維導圖,這樣會對視訊的巨集觀上有很好的瞭解,裡面細細的內容可以通過筆記的形式,整理好,這樣的學習感覺效率很高。
看完了C#視訊之後,弄了本書看了一下,手裡的材料楚廣明老師對C#的內容,重點講解了物件導向部分的知識。大概的看過一遍書之後,發現C#的內容跟VB在結構上很類似。C#是一種物件導向的語言,物件導向在現在的程式設計中太重要了,封裝,繼承,多型。抽象類和抽象介面,做到了讓系統高內聚,低耦合的特點。可維護,可複用,可擴充套件,靈活性好,物件導向技術,極大地方便了我們的工作和效率,並且讓系統的生命期也增加了。
通過學習視訊和看書,C#主要包括圖中的這些部分。
1.開發平臺
在.NET平臺用C#程式碼進行操作,所以我們需要從最基本的環境開始,同樣之後瞭解了大環境,才能對細節更好的把控。.NET平臺是一個開發平臺。由5部分組成。
(1).定義了公共語言子集,一種為符合其規範的語言和類庫之間提供無縫整合的混合語言。
(2).統一了程式設計類庫,提供對下一代網路通訊標準XML的完全支援。
(3).實現了人機互動方面的革命。
總之。.NET是一種物件導向網路支援各種使用者終端的開發平臺環境。
刀不誤砍柴工,視覺化開發工具Visual stdio.NET工具,我們必須先從熟悉軟體入手,熟悉了軟體對後面我們的程式碼操作,能夠起到推波助瀾的作用,很大程度上方便我們的程式設計。熟悉了軟體,會更加激發我們的創作熱情。當出現程式碼問題的時候,我們能夠熟練的知道怎麼除錯,怎麼快速的找到問題,並解決它。
2.語法基礎
用好C#那麼必須從它的基礎知識入手,任何事物高階的方面都是基本的內容經過各種複雜的組合和邏輯程式設計的。萬變不離其宗,掌握了基礎才能更快的提高。C#的語法基礎,瞭解C#的資料型別,常量和變數的定義,每一種語言都有流程控制語句,它們都是由選擇,迴圈和順序組成了,我們要早到各種語言的不同之處。
3.物件導向的特徵
C#與學習的VB最大的不同要在物件導向部分,物件導向程式設計是第四代語言的核心程式設計方法。它讓我們作出的系統更加健壯,在功能和效能上,以及維護和擴充套件上都有很大的優勢。軟體的不單單是實現功能,而要思考怎麼才能寫出最優秀的程式碼去實現同樣的功能,讓系統記憶體佔用最少,怎麼更加靈活。設計模式中主要是C#程式碼,整理和總結好C#中的內容,在設計模式的學習中就會更加輕鬆。
類是物件導向程式設計中的靈魂,是資料封裝的具體表現。要了解類和類的成員。類和介面的區別。物件導向的三大特徵:封裝,繼承,多型。
封裝:每個物件都包含它能進行操作所需要的所有資訊。
繼承:物件的繼承代表了一種“is-a”的關係。子類繼承父類的成員:方法,域,屬性,事件,索引指示器。呼叫父類的成員,可以用Base關鍵字。
多型:不同的物件可以執行相同的動作,但要通過它們自己的實現程式碼來執行。
4.程式和執行緒
程式是程式的一次執行過程,是系統進行排程和資源分配的一個獨立單位,它由私有虛擬地址空間,程式碼,資料和其他作業系統資源組成。
執行緒是比程式小的執行單位,一個程式執行過程中,產生多個執行緒,形成多條執行線索。
當程式以程式的方式被系統呼叫到記憶體後,系統會給程式分配一定的資源(如記憶體、裝置等)
5.控制元件和資料庫
C#控制元件的使用,我們只有熟悉了控制元件的屬性,事件才能進行更好的操作,而這需要我們的不斷實踐,用程式碼來加深我們的理解。還有C#與資料庫之間的操作,做過了機房收費和學生管理系統,對資料庫有了一定的認識,VB與資料庫之間的操作,通過VB我們可以對比著來學習C#在資料庫方面的應用
總結:
通過C#的學習,對物件導向有了一些瞭解,通過對程式碼的實現感覺到物件導向技術的靈活性,用抽象類和介面降低具體之間的耦合性,做到分離。通過C#和VB的對比,語言在很多方面是相通的,只要學習各個語言之間不同的地方就可以了
相關文章
- c#之程式集和全域性程式集快取C#快取
- CMake 屬性之全域性屬性
- C# WebForm定義全域性變數C#WebORM變數
- Vue元件之全域性註冊Vue元件
- BPM之全域性縱覽(轉)
- PostgreSQLOracle相容性之-全域性臨時表globaltemptableSQLOracle
- node 全域性物件和全域性變數物件變數
- 大學畢業4年-回顧和總結(7)-全域性觀
- oracle架構之系統全域性區Oracle架構
- Apache Hudi重磅特性解讀之全域性索引Apache索引
- Flutter 全域性狀態管理之 Provider 初探FlutterIDE
- SpringBoot之全域性捕獲異常Spring Boot
- SpringBoot之全域性異常處理Spring Boot
- MySQL學習之全域性鎖和表鎖MySql
- node內建全域性變數之__dirname、__filename變數
- QT程式設計之——使用全域性變數QT程式設計變數
- Android 全域性異常捕獲之CrashHandlerAndroid
- vue定義全域性變數和全域性方法Vue變數
- 靜態全域性變數和全域性變數變數
- c#屬性之繼承C#繼承
- 框架(frameset),全域性屬性框架
- 全域性變數變數
- vue全域性APIVueAPI
- Js全域性物件JS物件
- vue2.0全域性路由守衛(全域性控制登入)Vue路由
- 微信小程式的全域性彈窗以及全域性例項微信小程式
- 獨立遊戲2021全域性觀:“雲霧未散,但山頭可見”遊戲
- html5全域性屬性HTML
- .Net微服務實戰之可觀測性微服務
- 超全域性陣列有哪些?超全域性陣列有什麼作用?陣列
- axios的全域性攔截之axios.interceptorsiOS
- Flutter之使用Overlay建立全域性Toast並靜態呼叫FlutterAST
- Django筆記三十一之全域性異常處理Django筆記
- Flutter 全域性彈窗Flutter
- 全域性 DOM 變數變數
- 全域性CSS的配置CSS
- flex全域性異常Flex
- Mycat 全域性系列號