public sealed class myClass2
密封方法
public class myclass { public virtual void method() { Console.WriteLine("基类中的虚方法"); } } public sealed class myclass2:myclass { public sealed overrider void method() { base.method(); Console.WriteLine("重写后的方法"); } }
说明:base.method();表示调用基类中的method方法,base关键字主要是为派生类调用基类成员提供一种简写形式
密封类和密封方法
密封类除了不能继承外和其他非密封类差不多。而密封方法则必须通过重写基类中的虚方法来实现。
例子:
namespace Test { public class myClass1 { /// <summary> /// 虚方法,用来显示信息 /// </summary> public virtual void ShowInfo() { } } public sealed class myClass2 : myClass1 //密封类,继承自myClass1 { private string id = ""; //string类型变量,用来记录编号 private string name = ""; //string类型变量,用来记录名称 /// <summary> /// 编号属性 /// </summary> public string ID { get { return id; } set { id = value; } } /// <summary> /// 名称属性 /// </summary> public string Name { get { return name; } set { name = value; } } /// <summary> /// 密封并重写基类中的ShowInfo方法 /// </summary> public sealed override void ShowInfo() { Console.WriteLine(ID + " " + Name); } } class Program { static void Main(string[] args) { myClass2 myclass2 = new myClass2(); //实例化密封类对象 myclass2.ID = "BH0001"; //为密封类中的编号属性赋值 myclass2.Name = "TM"; //为密封类中的名称属性赋值 myclass2.ShowInfo(); //调用密封类中的密封方法 } } }
运行结果BH0001 TM
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230984.html原文链接:https://javaforall.net
