抽象類別(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();
}
}
}
請先 登入 以發表留言。