在c#中如何使父类的一个方法不被子类继承

[复制链接]
查看11 | 回复5 | 2020-7-24 02:45:44 | 显示全部楼层 |阅读模式
在c#中使父类的一个方法不被子类继承,可以把父类方法声明为private类型。private是说除了包含该成员的类之外,其他任何类都无法访问这个成员。也就是说只有自己才能直接访问到private成员,其他任何类,包括子类都无法访问到这个成员。父类引用指向子类对象,那么该引用指向的只是继承内存,它能调用的也就这点内存,这里面包括父类的成员变量,方法等等。父类引用指向的是一个子类对象,但它调用的是父类的privateMethod,但private方法是无法在其他对象中访问到,所以就会产生编译错误。扩展资料
回复

使用道具 举报

千问 | 2020-7-24 02:45:44 | 显示全部楼层
除了构造函数外,其他的方法都会被子类继承但私有方法不能在子类中使用如果你想让某个方法不能被子类使用,你可以设置访问修饰符为私有
回复

使用道具 举报

千问 | 2020-7-24 02:45:44 | 显示全部楼层
在子类中定义一个同名的一模一样的方法,即返方法名称、参数都是一样的,就将父方法给覆盖掉了就不会被继承过来
回复

使用道具 举报

千问 | 2020-7-24 02:45:44 | 显示全部楼层
很简单的。只需把父类方法的访问修饰符改成private,就行了。
回复

使用道具 举报

千问 | 2020-7-24 02:45:44 | 显示全部楼层
把父类方法声明为private类型,public class Base {
private void F()
{
....
}}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行