版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
目錄1面向?qū)ο蟮母拍?類的聲明3類的數(shù)據(jù)成員和屬性4構造函數(shù)的特點5抽象、封裝、繼承、多態(tài)面向?qū)ο蟮母拍?/p>
對象:對象是人們要進行研究的任何事物,從最簡單的整數(shù)到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件。事件與方法:事件又稱為消息,表示向?qū)ο蟀l(fā)出的服務請求。方法表示對象完成服務或執(zhí)行的操作功能。
類:具有相同特性(數(shù)據(jù)元素)和行為(功能)的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象,類實際上就是一種數(shù)據(jù)類型。類(不占內(nèi)存)與對象(占內(nèi)存)的關系就是抽象與具體。類的聲明在面向?qū)ο蟮木幊讨?,通常把用類?chuàng)建對象的過程稱為實例化,其格式如下:用日期類創(chuàng)建了一個日期的對象,就叫對象的實例化。多數(shù)語言中,實例化一個對象就是為對象開辟內(nèi)存空間,或者是不用聲明,直接使用。實例化時必須使用new關鍵字,new構造函數(shù)名(),建立一個臨時對象。有時候,靜態(tài)(static)的方法可以直接調(diào)用。[訪問修飾符]class類名[:基類]{類的成員;}類的成員:類的數(shù)據(jù)成員、方法成員類名對象名=new類名(參數(shù)1,參數(shù)2,參數(shù)n);如:Datedate=newDate();類的數(shù)據(jù)成員和屬性
類的數(shù)據(jù)成員包括類的常量、字段、屬性、索引器、方法事件、構造函數(shù)等,其中常量、字段和屬性都是類的數(shù)據(jù)有關的成員。1.常量:常量的值固定不變,格式如下:[訪問修飾符]const數(shù)據(jù)類型常量名=常量的值;2.字段:字段表示類的成員變量,字段的值代表某個對象的數(shù)據(jù)狀態(tài)聲名字段的方法和定義普通變量的方法相同,格式如下[訪問修飾符]數(shù)據(jù)類型字段名;3.構造函數(shù):構造函數(shù),是一種特殊的方法。主要用來在創(chuàng)建對象時初始化對象,即為對象成員變量賦初始值,總與new運算符一起使用在創(chuàng)建對象的語句中。特別的一個類可以有多個構造函數(shù),可根據(jù)其參數(shù)個數(shù)的不同或參數(shù)類型的不同來區(qū)分它們即構造函數(shù)的重載。構造函數(shù)的特點構造函數(shù)的命名必須和類名完全相同。構造函數(shù)的功能主要用于在類的對象創(chuàng)建時定義初始化的狀態(tài)。它沒有返回值,也不能用void來修飾。這就保證了它不僅什么也不用自動返回,而且根本不能有任何選擇。而其他方法都有返回值,即使是void返回值。盡管方法體本身不會自動返回什么,但仍然可以讓它返回一些東西,而這些東西可能是不安全的;構造函數(shù)不能被直接調(diào)用,必須通過new運算符在創(chuàng)建對象時才會自動調(diào)用;而一般的方法是在程序執(zhí)行到它的時候被調(diào)用的;當一個類只定義了私有的構造函數(shù),將無法通過new關鍵字來創(chuàng)建其對象,當一個類沒有定義任何構造函數(shù),C#編譯器會為其自動生成一個默認的無參的構造函數(shù)。構造函數(shù)有回滾的效果,構造函數(shù)拋出異常時,構造的是一個不完整對象,會回滾,將此不完整對象的成員釋放。抽象、封裝、繼承、多態(tài)抽象
是處理事物復雜性的方法,只關注當前目標有關的方面,而忽略與當前目標無關的那些方面。繼承
通過繼承機制,所定義的新成員擁有舊成員的屬性和方法。我們稱已存在的用來派生新類的類為基類,又稱為父類。由已存在的類派生出的新類稱為,又稱為子類。多態(tài)
在中,接口的多種不同的實現(xiàn)方式即為多態(tài)。同一操作作用于不同的對象,可以有不同的解釋,產(chǎn)生不同的執(zhí)行結果。在運行時,可以通過指向基類的指針,來調(diào)用實現(xiàn)派生類中的方法。封裝
封裝,即隱藏對象的屬性和實現(xiàn)細節(jié),僅對外公開接口,控制在程序中屬性的讀和修改的訪問級別;將抽象得到的數(shù)據(jù)和行為(或功能)相結合,形成一個有機的整體,也就是將數(shù)據(jù)與操作數(shù)據(jù)的進行有機的結合,形成“類”,其中數(shù)據(jù)和函數(shù)都是類的成員。訪問修飾符類修飾符成員修飾符123修飾符關鍵字readonly與const的區(qū)別3訪問修飾符internal(內(nèi)部的)只能在當前項目中訪問Public(公有的)可以在任何類中訪問。Private(私有的)訪問僅限于該類的內(nèi)部。Protected(受保護的)訪問僅限于該類及其派生類。類修飾符abstract抽象類
指示一個類只能作為其它類的基類,不能實例化,可以繼承,沒有方法體。sealed密封類
指示一個類不能被繼承。理所當然,密封類不能同時又是抽象類,因為抽象總是希望被繼承的。不是類的每個成員方法都可以作為密封方法密封方法,必須對基類的虛方法進行重載,提供具體的實現(xiàn)方法。所以,在方法的聲明中,sealed修飾符總是和override修飾符同時使用。成員修飾符delegate委托
用來定義一個函數(shù)指針。C#中的事件驅(qū)動是基于delegate+event的。Const常量
指定該成員的值只讀不允許修改,默認是靜態(tài)的Event事件
聲明一個事件。new
在派生類中隱藏指定的基類成員,從而實現(xiàn)重寫的功能。若要隱藏繼承類的成員,請使用相同名稱在派生類中聲明該成員new修飾符修飾它。Virtual虛擬
指示一個方法或存取器的實現(xiàn)可以在繼承類中被覆蓋,重寫。Static靜態(tài)
指示一個成員屬于類型本身,而不是屬于特定的對象。即在定義后可不經(jīng)實例化,就可使用。Extern外部
指示方法在外部實現(xiàn)。override重寫
對由基類繼承成員的新實現(xiàn)。關鍵字readonly與const的區(qū)別
readonly和const所聲明的字段都是只讀的。1.const字段只能在該字段的聲明中初始化。2.readonly字段可以在聲明或構造函數(shù)中初始化。因此,根據(jù)所使用的構造函數(shù)readonly字段可能具有不同的值。3.const字段是編譯時常數(shù),而readonly字段可用于運行時常數(shù)。4.const默認就是靜態(tài)的,而readonly如果設置成靜態(tài)的就必須顯示聲明。5.const對于引用類型的常數(shù),可能的值只能是string和null。6.readonly可以是任何類型??偨Y:const只能在初期就使用常量初始化好。對于每一次編譯后的結果,const的值是固定的,而readonly的值是可以在運行的時候才確定值的。抽象類與抽象方法概述1接口的概述2抽象類與接口的比較3接口與抽象類抽象類和抽象方法概述抽象方法是指在基類的定義中,不包含任何實現(xiàn)代碼的方法,實際上就是一個不具有任何具體功能的方法。抽象類是不完整的,如果一個類中沒有包含足夠的信息來描述一個具體的事物,這就是抽象類。注意:在抽象類中,也可以聲明非抽象方法、虛方法和數(shù)據(jù)類型。聲明抽象方法時,抽象方法沒有方法體,只在方法聲明后跟上一個分號。抽象成員必須在抽象類中聲明,但抽象類不要求必須包含抽象成員。抽象類的格式:Publicabstractclass抽象類名{[訪問修飾符]abstract返回值類型方法名([參數(shù)列表]);}接口是一個引用類型,通過接口可以實現(xiàn)多重繼承。C#中接口的成員不能有new、public、protected、internal、private等修飾符。接口中只能聲明"抽象"成員(所以不能直接下一步對接口進行實例化(即不能使用new操作符聲明一個接口的實例對象)),而不能聲明共有的域或者私有的成員變量。接口聲明不包括數(shù)據(jù)成員,只能包含方法、屬性、事件、索引等成員。接口的命名規(guī)則和類名一樣,接口名稱一般都以“I”作為首字母(當然不這樣聲明也可以),這也是接口和類的一個區(qū)別之一。接口接口成員的訪問級別是默認的(默認為public),所以在聲明時不能再為接口成員指定任何訪問修飾符,否則編譯器會報錯。接口成員不能有static、abstract、override、virtual修飾符,使用new修飾符不會報錯,但會給出警告說不需要關鍵字new。在聲明接口成員的時候,不準為接口成員編寫具體的可執(zhí)行代碼,也就是說,只要在對接口進行聲明時指明接口的成員名稱和參數(shù)就可以了。接口一旦被實現(xiàn),實現(xiàn)類必須實現(xiàn)接口中的所有成員,除非實現(xiàn)類本身是抽象類(通過具體的可執(zhí)行代碼實現(xiàn)接口抽象成員的操作)。在C#中,聲明接口使用interface關鍵字,一般形式如下
intterface接口名[:繼承接口名]{接口成員}抽象類與接口的比較抽象類由abstract關鍵字來修飾,接口由interface關鍵字來修飾。抽象類是一種不能實例化的類,抽象類可以包含抽象成員,也可包含非抽象成員和數(shù)據(jù)成員;抽象類可以完全實現(xiàn),也可以部分實現(xiàn),或者不實現(xiàn)。抽象類可以用來封裝所有派生類的通用功能。接口頂多是一個完全沒有實現(xiàn)的只包含抽象成員的抽象類(純抽象類),不能被實例化,可以包含數(shù)據(jù)成員,但必須是常量,使用接口無法來封裝所有派生類的通用功能。抽象類是對象的抽象化,接口是一種行為規(guī)范,接口代碼實現(xiàn)由開發(fā)者完成,接口在創(chuàng)建就不能在更改,如果修改必須創(chuàng)建新的接口,一個類只能從一個基類派生,但是可以從多個接口派生。c/s架構優(yōu)點c/s架構是一種比較早的軟件架構,主要應用于局域網(wǎng)內(nèi)。主要可以從以下三個方面來闡述其優(yōu)點。一、客戶端和服務器直接相連。點對點的模式使得更安全??梢灾苯硬僮鞅镜匚谋荆瑴p少獲取文本的時間和精力。由于直接相連,減少了通信流量,這對于客戶來說可以節(jié)約一大筆費用。直接相連,中間沒有什么阻隔或岔路,所以響應速度快。當通信量少的時候沒什么感覺,但是如果通信量龐大,就不會出現(xiàn)擁堵的現(xiàn)象。二、客戶端可以處理一些邏輯事務。充分利用兩者的硬件設施,避免資源的浪費。為服務器分擔一些邏輯事務,可以進行數(shù)據(jù)處理和數(shù)據(jù)存儲。可以處理復雜的事務流程。客戶端有一套完整應用程序,在出錯提示、在線幫助等方面都有強大的功能,并且可以在子程序間自由切換。三、客戶端操作界面。可以提高客戶的視覺體驗,滿足客戶需求??蛻舳瞬僮鹘缑婵梢噪S意排列,充分滿足客戶的需要,展現(xiàn)特點與個性。C/S架構的缺點一、客戶端只能處理一些功能單一的多系統(tǒng)。C/S架構適用于局域網(wǎng),對網(wǎng)速的要求比較高。由于需要安裝客戶端,安裝部署困難,所以不易擴展。若客戶端使用的系統(tǒng)不同,就要針對這些系統(tǒng)分別編寫程序??蛻舳私缑嫒狈νㄓ眯裕耶敇I(yè)務更改時就需要更改界面,重新編寫客戶端需要專門的客戶端程序,比較麻煩,針對點多面廣且不具備網(wǎng)絡條件的用戶群體,不能夠?qū)崿F(xiàn)快速部署安裝和配置。二、服務器用戶數(shù)增多會出現(xiàn)通信擁堵,服務器響應速度慢等情況。當客戶端用戶增多時,當服務器難當大任時,只能使用更強大的服務器。用戶是通過ODBC連接到數(shù)據(jù)庫的,且每個連接到數(shù)據(jù)庫的用戶都會保持一個ODBC連接,會一直占用中央服務器的資源,對服務器的要求很高。三、用戶沒有安裝客戶端的外部用戶不能訪問。只有安裝了客戶端才能訪問服務器,所以用戶不能隨時隨地的訪問。用戶是通過ODBC連接到數(shù)據(jù)庫的,所以用戶數(shù)受限,不易擴張。由于針對小范圍的客戶,所以不能實現(xiàn)真正大范圍的信息共享,信息傳達和發(fā)布四、成本系統(tǒng)升級維護麻煩,需要更改大量程序,投入大量精力和金錢。業(yè)務擴展或變更時,需要更改程序,客戶端的界面也需要重新更改。初次投入成本后不能一勞永逸,后期需要很多成本,比如服務器的更換,客戶端的更變等。B/S架構的優(yōu)點一、瀏覽器能面對廣大的用戶實現(xiàn)信息傳播共享。瀏覽器只處理一些簡單的邏輯事務,負擔小。頁面的更新能實現(xiàn)同步,所有用戶都能看到。界面設計開發(fā)簡單,對程序員的要求較低,不需要大量的培訓。業(yè)務擴展方便,只需要增加幾個業(yè)務擴展的頁面即可,不需要大量的編程。界面不需要太多的編寫,比較通用,更改界面也比較簡單,所以幾乎不需要維護。由于Web的平臺無關性,可以從一臺服務器、幾個用戶的工作組級擴展成為擁有成上萬用戶的大型系統(tǒng)。二、服務器數(shù)據(jù)都集中存放在數(shù)據(jù)庫服務器,所以不存在數(shù)據(jù)不一致現(xiàn)象。能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全在數(shù)據(jù)庫服務器上不一定使用WINDOWS系統(tǒng),選擇更多,成本更少。如果是異地,只需要把服務器連接專網(wǎng)即可,實現(xiàn)遠程維護、升級和共享。在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、快捷、高效。數(shù)據(jù)存放在數(shù)據(jù)庫服務器,客戶端并不存放任何業(yè)務數(shù)據(jù)或者數(shù)據(jù)庫連接信息,所以數(shù)據(jù)比較安全。隨著服務器負載的增加,可以平滑地增加服務器的個數(shù)并建立集群服務器系統(tǒng),然后在各個服務器之間做負載均衡。三、用戶B/S建立在廣域網(wǎng)上,所需的網(wǎng)速不高。外部的用戶也可以對瀏覽器進行訪問,界面人性化,通用化。不需要安裝客戶端,只要能連上網(wǎng),就能隨時隨地的瀏覽頁面。借助Internet強大的信息發(fā)布與信息傳送能力可以有效地解決企業(yè)內(nèi)部的大量不規(guī)則的信息交流。所有的用戶都是通過一個JDBC連接緩沖池連接到數(shù)據(jù)庫的,用戶并不保持對數(shù)據(jù)庫的連接,用戶數(shù)基本上是無限的。四、成本軟件重用性強,節(jié)省了大量的成本。不需要安裝特殊的軟件,客戶端幾乎零維護。一般只有初期一次性投入成本,有利于軟件項目控制和避免IT黑洞開發(fā)簡單,升級便捷,客戶端幾乎不需要維護,建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡硬件環(huán)境,例如電話上網(wǎng),租用設備等,成本較小。B/S架構的缺點一、客戶端面通用化,不突出個性。頁面需要不斷地動態(tài)刷新,尤其是用戶增多,網(wǎng)速慢得情況,很費時。由于不需要安裝客戶端,客戶端易擴展,還有就是外部用戶也可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45082-2024物聯(lián)網(wǎng)泛終端操作系統(tǒng)總體技術要求
- 銀行合規(guī)管理制度實施監(jiān)督
- 酒店餐飲部食品安全管理制度
- 再論心肺復蘇培訓課件
- 母嬰安全主題培訓高危孕產(chǎn)婦管理課件
- 【大學課件】基于傅立葉變換的數(shù)字水印嵌入技術
- 陜西省渭南市臨渭區(qū)2023-2024學年七年級上學期期末考試數(shù)學試卷(含答案)
- 全國法制宣傳日主題-物理-自然科學-專業(yè)資料
- 【大學課件】物流設備與應用技術
- 山南市2025屆高考語文押題試卷含解析
- 簡單咨詢費合同范本英文版
- 鋼渣綜合利用與碳排放減排機制研究
- 《ADIDAS案例分析》課件
- 重癥醫(yī)學科健康宣教手冊
- 外面面打膠防水施工方案
- 實驗動物學:動物實驗設計完整版
- 專項施工方案監(jiān)理審查簽字
- 團體標準化文件制修訂建議書
- 印度尼西亞民法
- 國壽新綠洲團體意外傷害保險(A款)條款
- 八年級上冊語文第五單元思維導圖
評論
0/150
提交評論