抽象类、虚方法、多态、继承概念等

1.抽象类和抽象方法

using System;

namespace sqlcon
{

    //抽象方法
  abstract class testabstract
    {
        public abstract void a();//没有方法参数和内容主体,只有一个方法名和参数列表   
  }

 class overridetast:testabstract {
     public override void a() {//派生类需实现抽象方法的成员

         Console.WriteLine(123456);
     }
     static void Main()
     {
         overridetast q = new overridetast();
         q.a();

         Console.ReadKey();
     }
 }

}
View Code

2.虚方法和虚属性

using System;

namespace sqlcon
{
    //虚方法和虚属性
   class testvirtual
    {
      public  virtual void a() {//派生类中重写使用
           int a = 10;
           int b = 20;
           int c = a + b;
           Console.WriteLine(c);
       }
      public void b() {//派生类中隐藏使用

          Console.WriteLine("这是testvirtual里的b()方法");
      }

       //构造方法,没有返回值类型
      public testvirtual(string names) {
          Console.WriteLine(names);
      }
  }
   class testoverride:testvirtual {
       public override void a()//重写基类a()方法
       {
           Console.WriteLine(123);
       }

   new  public void b() {//使用new关键字隐藏基类b()方法,编译器不会发出警告

           Console.WriteLine("这是派生类的b()方法");
       }

   public testoverride(string name):base(name){//base关键字调用基类的构造方法

   }
       static void Main()
       {         
           testoverride q = new testoverride("张三");
           q.a();
           q.b();
           Console.ReadKey();
       }
   }

 
     
 }
View Code
时间就像海绵里的水,只要你愿意挤,总还是有的——鲁迅
原文地址:https://www.cnblogs.com/syzly/p/6669816.html