抽象类和类成员

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

抽象类和类成员,抽象类类成员

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

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

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

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

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

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

    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;}
                      }
                }
          }
    

    }

 

http://www.bkjia.com/C\_jc/1157670.htmlwww.bkjia.comtruehttp://www.bkjia.com/C\_jc/1157670.htmlTechArticle抽象类和类成员,抽象类类成员 1.
不能创建抽象类的实例。 2.
抽象类主要是用来作为基类,但是抽象类也可以继承其它普通类或抽象类。…

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;}
                     }
               }
         }
}