在c#中如何使父类的一个方法不被子类继承
5个回答
展开全部
在c#中使父类的一个方法不被子类继承,可以把父类方法声明为private类型。
private是说除了包含该成员的类之外,其他任何类都无法访问这个成员。也就是说只有自己才能直接访问到private成员,其他任何类,包括子类都无法访问到这个成员。
父类引用指向子类对象,那么该引用指向的只是继承内存,它能调用的也就这点内存,这里面包括父类的成员变量,方法等等。父类引用指向的是一个子类对象,但它调用的是父类的privateMethod,但private方法是无法在其他对象中访问到,所以就会产生编译错误。
扩展资料
子类的继承性分两种情况:
1、子类和父类在同一包中的继承性
子类继承父类非private的成员变量和成员函数,即可继承public,protected和友好成员(没有修饰词的成员)。
2、子类和父类不在同一包中的继承性
子类继承父类public,, protected成员,而不能继承友好成员和private成员。
展开全部
除了构造函数外,其他的方法都会被子类继承
但私有方法不能在子类中使用
如果你想让某个方法不能被子类使用,你可以设置访问修饰符为私有
但私有方法不能在子类中使用
如果你想让某个方法不能被子类使用,你可以设置访问修饰符为私有
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在子类中定义一个同名的一模一样的方法,即返方法名称、参数都是一样的,就将父方法给覆盖掉了就不会被继承过来
参考资料: http://www.biye5u.com/article/Csharp/list43-1.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单的。只需把父类方法的访问修饰符改成private,就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把父类方法声明为private类型,
public class Base
{
private void F()
{
....
}
}
public class Base
{
private void F()
{
....
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询