c# 抽象类和抽象方法

抽象类和抽象方法

抽象方法:1 带抽象方法的类必须是抽象类,若不是要在类加abstract修饰符

     2 描述抽象方法时必须只是一个方法体,无需后面的大括号及内容

     3 抽象方法必须在子类中重写

     4 静态方法和抽象方法不能是一个方法

抽象类:   1 抽象类不能被实例化

     2 抽象类和最终类不能使同一个类,因为抽象类本身不能实例化,必须被继承才有意义

     3 抽象类的非抽象子类必须包含抽象类的所有方法和成员,其中抽象方法需要重载

 1 //抽象类
 2     public abstract class Abstract_test
 3     {   //计算面积
 4         public abstract double Area();  //抽象方法
 5 
 6     }
 7 
 8     public class Circle : Abstract_test
 9     {
10         private double pi = 3.14;
11 
12         public double r = 0;
13         public Circle()
14         {
15 
16         }
17 
18         public Circle(double r)
19         {
20             this.r = r;
21         }
22         
23         public  override double Area()  //继承抽象方法时必须重载
24         {
25 
26             return this.pi * this.r * this.r;
27         }

若父类中已包含重载过的抽象方法,子类只需将剩余未重载的方法重载即可(也可全部重载)

 1         public abstract class Abstract
 2         {
 3             public abstract void test1();
 4             public abstract void test2();
 5 
 6         }
 7 
 8         public abstract class Test1:Abstract
 9         {
10             public override void test1()
11             {
12                 Console.WriteLine("test1");
13             }
14         }
15 
16         public class Test2:Test1
17         {
18             public override void test2()
19             {
20                 Console.WriteLine("test2");
21 
22             }
23         }

猜你喜欢

转载自www.cnblogs.com/xt112233/p/9690207.html