熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.NET中Class,Abstract and Interfa選擇[1]

2013-11-13 12:19:28  來源: .NET編程 

  關鍵字

  Type– 類型
  Class - 類
  Abstract - 抽象的
  Interface - 接口
  Member - 成員
  Method - 方法
  Property - 屬性

  預備知識在閱讀本文時您應當了解NET編程的基本知識並且已經掌握Class Abstract Class 和 Interface全部知識這裡我僅簡單介紹一下他們的基本知識本文的例子由C#編寫期望您對C#編程有一定的了解

  正文

  我們無法創建一個Abstract Class或Interface的實例(INSTANCE)讓我們從Abstract Class和Interface的定義來看他們的不同Abstract Class可以包含Abstract Methods 和 Abstract Properties 也可以包含其他的Members象正常的Class一樣而Interface只能包含Abstract Methods和Properties(屬性)Interface中的所有Methods和Properties不需要加Abstract和Public關鍵字因為這兩個關鍵字在Interface中是默認的舉例如下

  //Abstarct Class
  public abstract class Vehicles
  {
   private int noOfWheel;
   private string color;
   public abstract string Engine
   {
    get;
    set;
   }
   public abstract void Accelerator();
  }
  //Interface
  public interface Vehicles
  {
   string Engine
   {
    get;
    set;
   }
   void Accelerator();
  }

  通常來講在設計時優先考慮使用Class或Abstract Class而不是InterfaceInterface的主要缺點是靈活性比較差一旦你定義好了Interface那麼它的Members就固定了如果你要對已經發布的程序添加新的Method就會破壞你已經的實現該接口的Type(ClassStruct等)因為你必須在你已有的Type中實現新的方法否則你的程序將無法通過編譯

  例如類Car和Train實現了接口Vehicles 現在我們要給接口Vehicles再加一個方法Brake() 如果我們現在編譯類Car和Train編譯器將報錯

  public interface Vehicles
  {
   …
   //新添加的方法
   void Brake();
  }

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/15658.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.