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

 我来答
汽车之路w
高粉答主

2020-07-24 · 关注我不会让你失望
知道大有可为答主
回答量:1.2万
采纳率:100%
帮助的人:294万
展开全部

在c#中使父类的一个方法不被子类继承,可以把父类方法声明为private类型。

private是说除了包含该成员的类之外,其他任何类都无法访问这个成员。也就是说只有自己才能直接访问到private成员,其他任何类,包括子类都无法访问到这个成员。

父类引用指向子类对象,那么该引用指向的只是继承内存,它能调用的也就这点内存,这里面包括父类的成员变量,方法等等。父类引用指向的是一个子类对象,但它调用的是父类的privateMethod,但private方法是无法在其他对象中访问到,所以就会产生编译错误。


扩展资料

子类的继承性分两种情况:

1、子类和父类在同一包中的继承性

子类继承父类非private的成员变量和成员函数,即可继承public,protected和友好成员(没有修饰词的成员)。

2、子类和父类不在同一包中的继承性

子类继承父类public,, protected成员,而不能继承友好成员和private成员。

202261256487e6a
推荐于2018-03-21 · TA获得超过481个赞
知道小有建树答主
回答量:795
采纳率:0%
帮助的人:690万
展开全部
除了构造函数外,其他的方法都会被子类继承
但私有方法不能在子类中使用

如果你想让某个方法不能被子类使用,你可以设置访问修饰符为私有
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
python实践人
2010-10-04 · 喜欢python,更乐意分享给你
python实践人
采纳数:286 获赞数:861

向TA提问 私信TA
展开全部
在子类中定义一个同名的一模一样的方法,即返方法名称、参数都是一样的,就将父方法给覆盖掉了就不会被继承过来

参考资料: http://www.biye5u.com/article/Csharp/list43-1.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洛合乐0Ew
2010-10-04
知道答主
回答量:47
采纳率:0%
帮助的人:19万
展开全部
很简单的。只需把父类方法的访问修饰符改成private,就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rfqiang
2010-10-05 · 超过24用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:64.6万
展开全部
把父类方法声明为private类型,
public class Base
{
private void F()
{
....
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式