C#基礎概念之密封類,屬性訪問器,介面

iDotNetSpace發表於2009-02-13

12.密封類可以有虛擬函式嗎?
答:

可以,基類中的虛擬函式將隱式的轉化為非虛擬函式,但密封類本身不能再增加新的虛擬函式

示例:

Codeclass BaseClass{    public virtual void F()    {        Console.WriteLine("BaseClass.F");    }}sealed class DeriveClass : BaseClass{    //基類中的虛擬函式F被隱式的轉化為非虛擬函式    //密封類中不能再宣告新的虛擬函式G    //public virtual void G()    //{    //    Console.WriteLine("DeriveClass.G");    //}}

 

13.什麼是屬性訪問器?
答:

屬性訪問器(Property Accessor),包括 get 訪問器和 set 訪問器分別用於欄位的讀寫操作。

其設計目的主要是為了實現物件導向(OO)中的封裝思想。根據該思想,欄位最好設為private,一個精巧的類最好不要直接把欄位設為公有提供給客戶呼叫端直接訪問,另外要注意屬性本身並不一定和欄位相聯絡。

 

14.abstract 可以和 virtual 一起使用嗎?可以和 override 一起使用嗎?
答:

abstract 修飾符不可以和 static、virtual 修飾符一起使用
abstract 修飾符可以和 override 一起使用,參見第11點

示例:

Codeusing System;using System.Collections.Generic;using System.Text; namespace Example14{    class BaseClass    {        public virtual void F()        {            Console.WriteLine("BaseClass.F");        }    }    abstract class DeriveClass1 : BaseClass    {        //在這裡, abstract是可以和override一起使用的        public abstract override void F();    }    class Program    {        static void Main(string[] args)        {        }    }}

 

15.介面可以包含哪些成員?
答:


介面可以包含屬性、方法、索引指示器和事件,但不能包含常量、域、操作符、建構函式和解構函式,而且也不能包含任何靜態成員

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-551824/,如需轉載,請註明出處,否則將追究法律責任。

相關文章