C# - 阻止派生类重写虚成员

 1 using System;
 2 
 3 namespace 类_阻止派生类重写虚成员
 4 {
 5     // 声明一个抽象类Animal(用abstract关键字声明抽象类)
 6     public abstract class Animal
 7     {
 8         // 基类的抽象方法Voice(); 功能在派生类实现
 9         public abstract void Voice();
10     }
11 
12     // 派生类(子类)继承自Animal
13     // 
14     public class Horse : Animal
15     {
16         // 用sealed修饰重写的Voice()方法,无法在Horse的派生类中重写
17         public sealed override void Voice()
18         {
19             Console.WriteLine("马发出嘶....嘶....嘶....嘶的声音");       
20         }
21     }
22 
23     // 派生类(子类)继承Horse类
24     public class Test : Horse
25     {
26         /*--------------------------------------------------
27          // 无法重写Horse基类的密封(sealed)的方法Voice()
28         public override void Voice()
29         {
30 
31         }
32         ---------------------------------------------------*/
33     }
34 
35     class Program
36     {
37         static void Main(string[] args)
38         {
39             // 抽象类不能被实例化
40             //Animal a = new Animal();    // 编译错误
41             Horse h = new Horse();
42             h.Voice();
43 
44             Console.ReadLine();
45         }
46     }
47 }

转载于:https://www.cnblogs.com/DuanLaoYe/p/5357964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值