代码改变世界

抽象类Abstract的简单使用

2013-12-18 10:07  无抿屎的牛牛  阅读(425)  评论(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的方法

 

编辑推荐:
· MySQL索引完全指南:让你的查询速度飞起来
· 一个字符串替换引发的性能血案:正则回溯与救赎之路
· 为什么说方法的参数最好不要超过4个?
· C#.Net 筑基-优雅 LINQ 的查询艺术
· 一个自认为理想主义者的程序员,写了5年公众号、博客的初衷
阅读排行:
· 《HelloGitHub》第 111 期
· 使用GcExcel .NET将Excel导出为PDF
· MySQL 字符集、排序规则与查询关系详解
· 【设计模式】外观模式
· 本地搭建一个对嘴AI工具

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示