成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

我要投稿 投訴建議

C#基礎(chǔ)的面試試題收集

時(shí)間:2022-09-25 23:00:18 面試試題 我要投稿
  • 相關(guān)推薦

C#基礎(chǔ)的面試試題收集

  能夠?qū)⒎庆o態(tài)的方法覆寫成靜態(tài)方法么?

C#基礎(chǔ)的面試試題收集

  不能,覆寫方法的簽名必須與被覆寫方法的簽名保持一致,除了將virtual改為override。

  可以覆寫私有的虛方法么?

  不可以,甚至子類中無(wú)法訪問(wèn)父類中的私有方法。

  能夠阻止某一個(gè)類被其他類繼承么?

  可以,使用關(guān)鍵字sealed。

  能夠?qū)崿F(xiàn)允許某個(gè)類被繼承,但不允許其中的某個(gè)方法被覆寫么?

  可以,標(biāo)記這個(gè)類為public,并標(biāo)記這個(gè)方法為sealed。

  被virtual修飾的方法可以被子類覆寫。

  什么是抽象類(abstract class)?

  一種不可以被實(shí)例化的類。抽象類中一般含有抽象方法,當(dāng)然也可有具體實(shí)現(xiàn)。繼承類只有實(shí)現(xiàn)過(guò)所有抽象類的抽象方法后才能被實(shí)例化。

  何時(shí)必須聲明一個(gè)類為抽象類?

  傳入某個(gè)屬性的set方法的隱含參數(shù)的名稱是什么?

  value,它的類型和屬性所聲名的類型相同。

  如何在C#中實(shí)現(xiàn)繼承?

  在類名后加上一個(gè)冒號(hào),再加上基類的名稱。

  C#支持多重繼承么?

  類之間不支持,接口之間支持。類對(duì)接口叫做實(shí)現(xiàn),不叫繼承。

  被protected修飾的屬性/方法在何處可以訪問(wèn)?

  在繼承或間接繼承與這個(gè)類的子類中可以訪問(wèn)。

  私有成員會(huì)被繼承么?

  會(huì),但是不能被訪問(wèn)。所以看上去他們似乎是不能被繼承的,但實(shí)際上確實(shí)被繼承了。

  請(qǐng)描述一下修飾符protected internal。

  在同一個(gè)Assembly中,他的訪問(wèn)級(jí)別和public一樣,而跨Assembly訪問(wèn)時(shí),他的訪問(wèn)級(jí)別同protected一樣。即protected的范圍 + internal的范圍。

  C#提供一個(gè)默認(rèn)的無(wú)參數(shù)構(gòu)造函數(shù),當(dāng)我實(shí)現(xiàn)了另外一個(gè)有一個(gè)參數(shù)的構(gòu)造函數(shù)時(shí)候,還想保留這個(gè)無(wú)參數(shù)的構(gòu)造函數(shù)。這樣我應(yīng)該寫幾個(gè)構(gòu)造函數(shù)?

  兩個(gè),一旦你實(shí)現(xiàn)了一個(gè)構(gòu)造函數(shù),C#就不會(huì)再提供默認(rèn)的構(gòu)造函數(shù)了,所以需要手動(dòng)實(shí)現(xiàn)那個(gè)無(wú)參數(shù)構(gòu)造函數(shù)。

  C#中所有對(duì)象共同的基類是什么?

  System.Object.

  重載和覆寫有什么區(qū)別?

  重載提供了對(duì)一個(gè)方法簽名的不同參數(shù)調(diào)用的實(shí)現(xiàn)。覆寫提供了子類中改變父類方法行為的實(shí)現(xiàn)。

  在方法定義中,virtual有什么含意?

  當(dāng)這個(gè)類中包含抽象方法時(shí),或是該類并沒(méi)有完全實(shí)現(xiàn)父類的抽象方法時(shí)。

  接口(interface)是什么?

  只含有共有抽象方法(public abstract method)的類。這些方法必須在子類中被實(shí)現(xiàn)。

  為什么不能指定接口中方法的修飾符?

  接口中的方法用來(lái)定義對(duì)象之間通信的契約,指定接口中的方法為私有或保護(hù)沒(méi)有意義。他們默認(rèn)為公有方法。

  可以繼承多個(gè)接口么?

  當(dāng)然。

  那么如果這些接口中有重復(fù)的方法名稱呢?

  這種情況中你可以決定如何實(shí)現(xiàn)。當(dāng)然需要特別得小心。但是在編譯環(huán)節(jié)是沒(méi)有問(wèn)題的。

  接口和抽象類的區(qū)別是什么?

  接口中所有方法必須是抽象的,并且不能指定方法的訪問(wèn)修飾符。抽象類中可以有方法的實(shí)現(xiàn),也可以指定方法的訪問(wèn)修飾符。

  如何區(qū)別重載方法?

  不同的參數(shù)類型,不同的參數(shù)個(gè)數(shù),不同的參數(shù)順序。

  const和readonly有什么區(qū)別?

  const可以用于局部常量,而readonly,實(shí)際是類的initonly字段,顯然不能是局部的。

  System.String 和System.StringBuilder有什么區(qū)別?

  System.String是不可變的字符串。System.StringBuilder存放了一個(gè)可變的字符串,并提供一些對(duì)這個(gè)字符串修改的方法。