每天学一点,每天积累一点,进步就不止一点点!PS:好记性不如烂笔头,学会总结,学会思考~~~ ----要飞翔,必须靠自己!

灰太狼的梦想

好记性不如烂笔头,学会总结,学会思考~~~

C#抽象类

  • 抽象类使用abstract修饰符声明;
  • 不能创建抽象类的实例;
  • 抽象类只能用作其他类的基类;
  • 抽象类中可以包含抽象成员普通的非抽象成员;
  • 抽象类自己可以派生自另外一个抽象类;
  • 任何派生自抽象类的【类】,必须使用override关键字,实现该抽像类所有的抽像成员,除非派生类自己也是抽象类。
 
示例:
1.基类
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 抽象类
{
   public abstract class BaseClass
    {
       public void BaseMethod()
       {
           Console.WriteLine("我是抽象类中的非抽象方法");
 
       }
       public abstract void DrivedMethod();
    }
}
 
 
2.子类
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 抽象类
{
   public class DrivedClass:BaseClass
    {
       public override void DrivedMethod()
       {
           Console.WriteLine("我是子类【派生类】中的重写方法");
           //throw new NotImplementedException();
       }
    }
}
 
3.程序调用:
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 抽象类
{
    class Program
    {
        static void Main(string[] args)
        {
            //BaseClass baseClass = new DrivedClass();
            //baseClass.BaseMethod();
            //baseClass.DrivedMethod();
            //Console.WriteLine();
            //Console.ReadKey();
 
 
 
            DrivedClass driveClass = new DrivedClass();
            driveClass.BaseMethod();
            driveClass.DrivedMethod();
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}
 
上面注释的代码,和没有注释的代码,执行的效果是一样的。
 

 

 
posted @ 2016-06-17 11:00  灰太狼的梦想  阅读(501)  评论(3编辑  收藏  举报