sealed java_C#sealed关键字

sealed关键字

含义定义类为sealed—>密封类定义方法为sealed—>密封方法

含义

sealed—>密封的,封闭的。顾名思义就是由sealed修饰的类或方法将不能被继承或是重写。

定义类为sealed—>密封类

密封类:当对一个类应用 sealed修饰符时,此修饰符会阻止其他类从该类继承(不能派生子类)。

代码1:

static void Main(string[] args)

{

B b = new B();//声明子类对象b

Console.ReadKey();

}

sealed class A//基类被sealed修饰

{

}

class B:A//类B继承父类

{

}

结果显而易见:  代码2:

定义方法为sealed—>密封方法

密封方法 :当对方法或者属性应用sealed修饰符时,能够允许派生类从基类继承,并防止它们重写特定的虚方法或虚属性。(★此时同override一起使用)

【在提到密封方法时,我们先了解下对基类方法的重写:】 重写 VS 重载 重写:派生类继承基类的方法 (特点:①基类中方法virtual;②派生类中方法override)。 重载:在一个类中用相同的名称但是不同的参数类型创建一个以上的过程、实例构造函数或属性。 代码1:

static void Main(string[] args)

{

Dog dog = new Dog();//声明Dog对象

dog.Shout();

Cat cat=new Cat();//声明Cat对象

cat.Shout();

Console.ReadKey();

}

class Animale//定义动物父类

{

public virtual void Shout()//父类中有一个Shout方法

//★virtual

{

Console.WriteLine("动物具有叫声!");

}

}

class Dog:Animale//狗类继承父类

{

public override void Shout()//对父类中Shout进行重写,Dog类输出Dog所具有的Shout方法

//★override

{

Console.WriteLine("旺旺.....");

}

}

class Cat : Animale//对父类中Shout进行重写,Cat类输出Cat所具有的Shout方法

{

public override void Shout()

{

Console.WriteLine("喵喵.....");

}

}

//Output:

//旺旺.....

//喵喵.....

言归正传: 代码1:

static void Main(string[] args)

{

B b = new B();

b.Print();

Console.ReadKey();

}

class A//声明父类

{

public virtual void Print()//Print方法

//★virtual虚基类

{

Console.WriteLine("输出:A");

}

}

class B:A//声明B类对A类进行继承

{

public sealed override void Print()//sealed对B类中Print方法进行密封,子类无法对其重写

//★override重写父类Print方法

{

Console.WriteLine("输出:B");

}

}

//↓为了避免该项目影响当前工程,如需测试,删除注释↓

class C : B//声明C类对B类进行继承

{

//public  override void Print()//重写父类中Print方法

//★B类中Print方法被密封,其实是无法继承的

//{

//    Console.WriteLine("输出:C");

//}

}

干就完了,没毛病!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值