抽象类和类成员

1. 不能创建抽象类的实例。

2. 抽象类主要是用来作为基类,但是抽象类也可以继承其它普通类或抽象类。

3. 抽象成员中可以包含抽象成员和普通带实现的成员。

4. 任何派生自抽象类的类必须使用override关键字实现该类所有的抽象成员,除非派生类自己也是抽象类。

5. 抽象成员只能申明在抽象类中。

6. 抽象成员包括:方法、属性、事件、索引。

namespace abstract_Example

{

         class Program
        {
             static void Main(string[] args)
            {
                   MyClass m = new MyClass();
                   m.PropertyValue = 100;
                   m.Output();
                   m.DoWork(m.PropertyValue );
                   Console.ReadKey();
             }
             public abstract class A
             {
                   public abstract void DoWork(int i);   //抽象成员只能声明在抽象类中 
                   public abstract int PropertyValue
                   {
                        get;
                        set;
                   }
                   public void Output()                        // 抽象类中可以包含普通带实现的成员
                   {
                        Console.WriteLine("I am Abstract Class A");
                   }
              }
              public class MyClass:A
              {
                    int MyValue;
                    public override void DoWork(int i)    //派生类必须全部实现基类中所有抽象成员
                    {
                         Console.WriteLine("I am Class MyClass. My Value is {0}",i);
                    } 
                    public override int PropertyValue

                    {
                         get { return MyValue; }
                         set{MyValue = value;}
                     }
               }
         }
}

 

posted @ 2016-09-12 13:48  HepburnXiao  阅读(944)  评论(0编辑  收藏  举报