C#例题集

收集一些从网上看到的例题

1.抽象类

抽象类不能被实例化
一个抽象类只能通过接口和作为其它类的基类使用

抽象方法的声明只能在抽象类中

抽象方法必定不能实现(方法带一对{}都不行)

当一个子类集成自抽象类时,必须实现其中的抽象方法(override重写)

 1 public abstract class Demo
 2     {
 3         public Demo()
 4         {
 5             this.print();
 6         }
 7 
 8         public abstract void print();
 9     }
10 
11     public class DemoImple : Demo
12     {
13         private int x = 10;
14         public DemoImple(int x)
15         {
16             this.x = x;
17         }
18 
19         public override void print()
20         {
21             Console.WriteLine("x=" + this.x);
22         }
23     }
24 
25     class Program
26     {
27         static void Main(string[] args)
28         {
29             new DemoImple(100);
30             //输出为x=10
31             Console.ReadKey();
32         }
33     }
Abstract

输出为x=10

首先当子类实例化时先调用的是父类(抽象类)的构造函数,然后这个时候x还是10,当print后才调用DemoImpl的构造函数,这个时候虽然将x设置为100,但是已经没有print了

猜你喜欢

转载自www.cnblogs.com/QQW123/p/9827597.html