抽象類別(Abstract class)


當您定義類別時,可以僅宣告方法名稱而不實作當中的邏輯,
這樣的方法稱之為「抽象方法」(Abstract method),

如果一個類別中包括了抽象方法,則該類別稱之為「抽象類別」(Abstract class),
抽象類別是個{未定義完全}的類別,所以它不能被用來生成物件,它只能被擴充(被繼承),
並於擴充後完成未完成的抽象方法定義。 (override)

例如 : Screen.cs
--------------------------------------------------------------------------------
using System;
using System.Windows.Controls;

namespace Melaleuca.Compass.MiddleClass
{
    public abstract class Screen : TabItem
    {
 protected bool _isDataLoaded = false;
 protected bool _isDataBound = false;
 protected object _bindSync = new object();
 protected bool _bindOnReturn = false;
 protected bool BindOnReturn
 {
         get
     {
  lock ( _bindSync ) { return _bindOnReturn; }
     }
     set
     {
  lock ( _bindSync ) { _bindOnReturn = value; }
     }
 }

 public Screen()
 {
  
 }

 #region 抽象方法 (abstract method)
 public abstract void LoadData( bool bindOnReturn );

 protected abstract void GetData();

 protected abstract void BindData();

 protected abstract void ScreenBind();

 protected abstract void ProcessError(Exception ex);

 public abstract void Destroy();
 #endregion

 protected override void OnSelected( System.Windows.RoutedEventArgs e )
 {
     base.OnSelected( e );
     ScreenBind();
 }
    }
}

 

創作者介紹
創作者 albert0956的部落格 的頭像
albert0956

albert0956的部落格

albert0956 發表在 痞客邦 留言(0) 人氣( 39 )