面向對象的思想主要包括什么? 對向對象程序設計(OOP)思想:封裝、繼承,、多態(tài) 封裝:用抽象的數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)操作封裝在一起,,數(shù)據(jù)被保護在抽象類型內(nèi)部,。 繼承:子類擁有父類的所有數(shù)據(jù)和操作,。 多態(tài):一個程序中同名的不同方法共存的情況,。 有兩種形式的多態(tài):重載與重寫。 2.什么是ASP.net中的用戶控件? 用戶控件就是.ascx,復合控件就是.DLL 3.什么叫應用程序域?什么是受管制的代碼?什么是強類型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS,、CLS和CLR分別作何解釋? 應用程序域:一種邊界,,它由公共語言運行庫圍繞同一應用程序范圍內(nèi)創(chuàng)建的對象建立。 受管制的代碼:受管制的代碼是在CLR虛擬機中運行的代碼,。 強類型系統(tǒng): C# 是強類型語言,;因此每個變量和對象都必須具有聲明類型。 裝箱和拆箱: 裝箱就是隱式的將一個值型轉換為引用型對象,。比如: int i=0; Syste.Object obj=i; 這個過程就是裝箱,!就是將i裝箱! 拆箱就是將一個引用型對象轉換成任意值型,!比如: int i=0; System.Object obj=i; int j=(int)obj; 這個過程前2句是將i裝箱,,后一句是將obj拆箱! 值型就是在棧中分配內(nèi)存,,在申明的同時就初始化,,以確保數(shù)據(jù)不為NULL; 引用型是在堆中分配內(nèi)存,,初始化為null,,引用型是需要GARBAGE COLLECTION來回收內(nèi)存的,值型不用,,超出了作用范圍,,系統(tǒng)就會自動釋放! 重載:類中的方法名相同,,但參數(shù)的個數(shù)或類型不同 CTS(Common Type System)(通用類型系統(tǒng)) :描述了類型的定義和行為,。 CLS( Common Language Specification) 通用語言規(guī)范 CLR ( Common Language Runtime ) 通用語言運行時 4.列舉一下你所了解的XML技術及其應用 xml可以用來做網(wǎng)頁(xslt) xml可以當作數(shù)據(jù)庫 5.值類型和引用類型的區(qū)別?寫出C#的樣例代碼。 值類型存在內(nèi)存棧里面,引用類型存在內(nèi)存堆里面 int i = 10; //值類型變量 class a = new class(); //定義類 引用類型 6.ADO.net中常用的對象有哪些?分別描述一下,。 DataSet對象:表示內(nèi)存中數(shù)據(jù)的緩存,,可以把它想像成一個臨時的數(shù)據(jù)庫,它里可以存多個表 DataTable:而且是斷開式的,,不用每進行一次操作就對數(shù)據(jù)庫進行更新,,從而提高了效率。 DataReader對象:它與DataSet最大的不同是有連接式的,,每次對數(shù)據(jù)庫進行存取都會影響到數(shù)據(jù)庫,。 Connection對象:用于連接數(shù)據(jù)庫的對象,表示到數(shù)據(jù)源的一個唯一的連接,。 Command對象:表示要對數(shù)據(jù)庫執(zhí)行的一個SQL語句或一個存儲過程,。 DataAdapter對象:該對象是與DataSet配合使用的對象,用于把表填充到DataSet,,和更新DataSet等 7.如何理解委托? 委托可以理解為函數(shù)指針 把方法或者函數(shù)包裝成一個對象引用,然后就可以作為參數(shù)傳遞,。 8.C#中的接口和類有什么異同,。 接口是負責功能的定義,項目中通過接口來規(guī)范類,,操作類以及抽象類的概念,! 而類是負責功能的具體實現(xiàn)! 9.,。net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用? 1,、DataSet 用來無連接的儲存多個表的數(shù)據(jù),并包含表與表之間的關聯(lián)關系 2,、DataTable 用來存儲一個表的數(shù)據(jù) 3,、SqlConnection 用來創(chuàng)建一個到數(shù)據(jù)庫的連接 4、SqlCommand 用來執(zhí)行SQL語句 5,、SqlDataReader 用來順序讀取數(shù)據(jù) 6,、SqlDataAdapter 用來將數(shù)據(jù)填充到DataSet或DataTable 10.UDP連接和TCP連接的異同。 前者只管傳,不管數(shù)據(jù)到不到,無須建立連接.后者保證傳輸?shù)臄?shù)據(jù)準確,須要連接. 11.ASP.net的身份驗證方式有哪些?分別是什么原理? Asp.net的身份驗證有有三種,,分別是”Windows | Forms | Passport”驗證,WINDOWS一般在做企業(yè)內(nèi)部OA的時候用的多一些,FORM一般是做網(wǎng)站用的多他是采用COOKIE機制來實現(xiàn)的,PASSPORT是微軟提供的一個WEBSERVICE,。 12.進程和線程分別怎么理解? 進程和線程都是由操作系統(tǒng)所體會的程序運行的基本單元,系統(tǒng)利用該基本單元實現(xiàn)系統(tǒng)對應用的并發(fā)性,。進程和線程的區(qū)別在于:簡而言之,一個程序至少有一個進程,一個進程至少有一個線程.線程的劃分尺度小于進程,,使得多線程程序的并發(fā)性高。 線程在執(zhí)行過程中與進程還是有區(qū)別的,。每個獨立的線程有一個程序運行的入口,、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,,必須依存在應用程序中,,由應用程序提供多個線程執(zhí)行控制。 13.什么是code-Behind技術,。 簡單的說就是代碼分離技術,也就是.net中的HTML代碼和程序代碼分別位于不同的文件, 14.活動目錄的作用,。(答案不全 不好總結) 活動目錄是Windows平臺的一個核心的部件,活動目錄服務提供了一種管理組成網(wǎng)絡環(huán)境的各種對象的標志和關系的方法,。 15..net中讀寫XML的類都歸屬于哪些命名空間?(不全 看功能而定) SYSTEM.XML,、SYSTEM.DATA、System.io 16.解釋一下UDDI,、WSDL的意義及其作用,。 UDDI:統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI, Universal Description, Discovery and Integration)是一套基于Web的,、分布式的,、為Web服務提供的信息注冊中心的實現(xiàn)標準規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web服務注冊以使得別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標準,。UDDI提供了一組基于標準的規(guī)范用于描述和發(fā)現(xiàn)服務,,還提供了一組基于因特網(wǎng)的實現(xiàn),。 WSDL:描述Web服務的公共接口。這是一個基于XML的關于如何與Web服務通訊和使用的服務描述 17.什么是SOAP,有哪些應用,。 SOAP(Simple Object Access Protocol )簡單對象訪問協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠程過程調(diào)用的協(xié)議,是一個基于XML的協(xié)議,。 18.如何理解.net中的垃圾回收機制,。 NET Framework 的垃圾回收器管理應用程序的內(nèi)存分配和釋放。每次您使用 new 運算符創(chuàng)建對象時,,運行庫都從托管堆為該對象分配內(nèi)存,。只要托管堆中有地址空間可用,運行庫就會繼續(xù)為新對象分配空間,。但是,,內(nèi)存不是無限大的。最終,,垃圾回收器必須執(zhí)行回收以釋放一些內(nèi)存,。垃圾回收器優(yōu)化引擎根據(jù)正在進行的分配情況確定執(zhí)行回收的最佳時間。當垃圾回收器執(zhí)行回收時,,它檢查托管堆中不再被應用程序使用的對象并執(zhí)行必要的操作來回收它們占用的內(nèi)存,。 19.常用的調(diào)用webservice方法有哪些? vs.net里選擇添加web引用 20.C#中區(qū)別多態(tài)、重載,、重寫的概念和語法結構2008年04月26日 星期六 18:11重寫是指重寫基類的方法,,在基類中的方法必須有修飾符virtual,而在子類的方法中必須指明override,。 格式: 基類中: public virtual void myMethod() { } 子類中: public override void myMethod() { } 重寫以后,,用基類對象和子類對象訪問myMethod()方法,結果都是訪問在子類中重新定義的方法,,基類的方法相當于被覆蓋掉了,。 重載 用于在給定了參數(shù)列表和一組候選函數(shù)成員的情況下,選擇一個最佳函數(shù)成員來實施調(diào)用,。 public void test(int x,int y){} public void test(int x,ref int y){} public void test(int x,int y,string a){} 重載特征: I.方法名必須相同 II.參數(shù)列表必須不相同,,與參數(shù)列表的順序無關 III.返回值類型可以不相同 ========================= 但如果有泛型,就要注意了,! 多態(tài) c#的多態(tài)性主要體現(xiàn)在類的繼承上: 子類繼承父類的時候,可能出現(xiàn)同名但方法定義不同的情況, 所以在子類中會將原方法覆蓋,實現(xiàn)自身的要求. using System; class Employee { virtual public void CalculatePlay() { Console.WriteLine(“Employee”); } }; class SalariedEmployee: Employee { override public void CalculatePlay() { Console.WriteLine(“Salary”); } }; class PolyApp { public static void Main() { Employee baseE1 = new Employee(); baseE1.CalculatePlay(); Employee baseE2 = new SalariedEmployee(); baseE2.CalculatePlay(); SalariedEmployee s = new SalariedEmployee(); s.CalculatePlay(); } }; |
|