程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#面對對象使用原因

c#面對對象使用原因

編輯:C#入門知識

面向對象(OOP)的四大特征:
抽象:我的工程應該有哪些類--我們通過觀察數據庫設計,可以幫助我們找到類
封裝:自己的事情自己做,不要過多的暴露自己內部的事情
繼承:類與類之間的兼容關系,事物之間的關系不只是平級關系,還有抽象與具體的關系(籠統和清晰的關系),他們之間是兼容的
多態: 一個方法,對應多種實現方式(多種形態),調用一個方法時,應能智能准確的調用

為什麼要使用類:因為把有規律的東西壓成模板,能簡化開發,是一種技巧,能按人的邏輯進行組織代碼
為什麼使用static:因為在一種事物中(一個類),有些是公共的特征(例如人類的總數),有些特征是因人而異的(某人的身高),我們把公共的特征和行為標記為static,它不需要new(不需要依賴於new出一個 個體)就能使用
為什麼要使用構造函數:為了避免必要的原材料缺失
為什麼要使用函數重載:把方便留給客戶,多種類似的業務,不要提供太多的服務窗口
為什麼使用屬性(get set):是變形的方法:用起來像字段,實際上是方法 ,這種方法的功能主要提供內部數據的過濾(像數據庫的check約束一樣)
為什麼使用索引器:也是變形的方法,有機會給大家使用[]的語法

 

為什麼使用常量(const)  因為工程中統一管理固定的約定值,會有條理
為什麼使用枚舉(enum)   因為表達幾個狀態,用可選項的方式更好,必須在其中選其一
為什麼要使用結構(struct) 因為學習了堆棧圖後,知道struct不需要按線索行事,體積小時效率高,但要謹慎用它,因為容易有裝拆箱的問題,內嵌類時還會混亂,體積大時沒有效率
為什麼要了解裝拆箱:因為裝箱是自動的,希望大家盡量避免裝拆箱,而不是讓大家學習如何裝拆箱

為什麼集合(List,ArrayList):因為數組長度不好管理,我們需要動態增長的數組
為什麼首選泛型集合(List<>):因為ArrayList是垃圾筒,而且對值類型提供的服務不到位(需要裝拆箱)
為什麼選擇字典:因為List集合查找速度慢,有頻繁查找的情況要考慮字典集合,但注意其中分keys 和Values集合,要綁定還要轉換一下
為什麼要用XML傳輸數據:因為xml格式可以把文本文件表達清楚層次感,要在經過公網獲取數據,直連數據庫來獲取數據是很危險,由服務端把數據搜出來,通過清晰的xml表達方式再把文件傳給對方解析
為什麼要用Xml配置數據:因為用文本文件,表達太簡陋,一旦許多東西要配置,就混亂,所以利用xml能清晰的表達的能力
為什麼使用IO流來存取數據:因為不是什麼都要動用數據庫的,例如簡單的信息保存
為什麼要用序列化:就像重裝電腦,使用ghost這種連皮帶殼的方式比,普通的一個一個軟件裝的方式要好,別忘了普通的方式是先拆後裝工作量很大
為什麼要用序列化傳輸數據:簡單,高效,整體保存,整體還原
為社麼有的時候要用XML而不用序列化的方式傳輸數據:因為序列化技術中,傳輸雙方都要約定使用共同的類來保存和還原數據,導致了部署上的特殊要求,以及只能用於同一平台,xml雖然低效,但沒有這些缺點

為什麼要使用反射:反射是透視機,不僅能夠看到程序集及類內部的結構,而且能夠通過基因type來克隆出對象,令我們可以憑空的使用一個程序集和類(通過路徑字符串和類名字符串即可),而無需在工程中事先導入,在不方便導入的情況下,發揮著不可替代的作用

為什麼要使用繼承:繼承描述的是類與類之間的兼容關系,使用繼承能幫助我們分解復雜的問題:我們的問題一旦復雜,我們解決的方式是分類處理,逐項攻破,繼承就是個籠統的問題,分門別類成具體的問題(子類),還復雜就繼續細化,這種分解就是繼承的使用
為什麼需要多態:我們發現繼承僅僅是解決了兼容關系,兼容導致多個類可以混在同一個集合中,但是當你發號施令時,不代表每個類對象都知道要調用自己的方法。(如果不能准確調用各自因人而異的方法,那麼兼容就毫無意義),所以我們使用多態的語法來解決自動調用的問題

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved