201803280002

Posted carol-whsun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了201803280002相关的知识,希望对你有一定的参考价值。

201803280002总结:

1.Sealed:密封的意思;由它修饰的类或方法将不能被继承或重写;

2.类中被Sealed修饰时,可防止被其它类继承。密封类不能同时又是抽象类,因为抽象类总是希望被继承的;

3.密封方法:防止在方法所在类的派生类中对该方法的重载。

4.不是类的每个成员方法都可以作为密封方法,要作为密封方法,必须对基类的虚方法进行重载,提供具体的实现方法。所在方法的声明中,Sealed修饰符

总是和override修饰符同时使用。

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace _20180328_0004_1 {     class Sealed     {         static void Main(string[] args)         {             Console.WriteLine("请输入电脑CPU的名称:");             string c=Console.ReadLine();             Computer cp = new Computer(c);   //创建电脑对象             Console.WriteLine("\n{0}所采用的CPU为{1}",cp.name,cp.cpu);             Phone no = new Phone();   //创建手机对象             no.display();            //调用重写后的密封方法display();             Console.ReadKey();         }     }     class Product     {         internal string name;         internal virtual void display()     //虚方法         {             Console.WriteLine("这是产品类的虚方法");         }     }     sealed class Computer : Product    //声明电脑类,继承于Product类     {         internal string cpu;         internal Computer(string c)         {             this.cpu = c;             this.name = "电脑";         }     }     //声明本来将导致错误,因为Computer类为密封类,无法被继承;     //class NoteBook : Computer     //{

    //}     class Phone:Product   //声明手机类,继承于Product类     {         internal sealed override void display()  //重新父类中的虚方法,并将此方法定为Sealed,不是任意一种方法都可以定为Sealed的,                                                                        {                                           //sealed经常且必须与override同时使用;                Console.WriteLine("\n 这是手机类的方法");         }     }     class Phone3G :Phone   //如何在Phone类中的重写的方法中没有添加Sealed,则继承Phone时,可以继续重写。     {                      //但若在Phone类中添加了Sealed后,并且Phone3G继承Phone时就不能直接重写display()方法了;         //声明此方法将导致错误,由于display方法在其父类Phone中为密封方法,所以无法再重写。         //internal override void display()         //{                     //}     } }

以上是关于201803280002的主要内容,如果未能解决你的问题,请参考以下文章