代码改变世界

抽象类Abstract的简单使用

2013-12-18 10:07  无抿屎的牛牛  阅读(422)  评论(0编辑  收藏  举报

写了一个比较简单易懂的例子,如下图

 

AbstractBaseClass是抽象的基类,Class1,Class2是继承他的子类,并实现他的方法。

   //AbstractBaseClass.cs里的代码 
   public abstract class AbstractBaseClass
    {
         public abstract string DoEvent();
    }

   
    //Class1.cs里的代码 
    public class Class1 : AbstractBaseClass
    {
        public override string DoEvent()
        {
            return "你好吗?我是Class1";
        }
    }

   //Class2.cs里的代码 
    public class Class2 : AbstractBaseClass
    {
        public override string DoEvent()
        {
            return "你好吗?我是Class2";
        }
    }

下面是实现调用方法的例子:方便在同一方法里实现调用不同类的方法。

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace abstract学习
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            AbstractBaseClass abc;
            if (RadioButton1.Checked)
            {
                abc = new Class1();
            }
            else {
                abc = new Class2();
            }
            ToDo(abc);
        }

        private void ToDo(AbstractBaseClass _class) {
            Label1.Text = _class.DoEvent();
        }
    }
}

选择Class1点击确定,调用Class1的方法

选择Class2点击确认,调用Class2的方法