繁体   English   中英

从基类继承

[英]inheritance from base class

我对对象及其从父类和子类调用方法的能力有疑问。

基类具有method()。 在主要方面,我有objectFromBaseClass和objectFromChildClass。 两个对象都可以从基类访问method()吗?

我正在尝试掌握这个想法。

只要method()没有声明为私有,就可以。 如果已将method()定义为私有,那么只有基类可以访问它。 如果方法被声明为protected,则基类和所有派生类都可以访问它。 如果方法声明为内部方法,则可以在同一Assembly(dll)中对其进行访问。 如果将方法声明为公共方法,则可以在任何地方访问它。

遵循Access修饰符(C#编程指南)Access修饰符

这些链接将清除您对成员可访问性的怀疑。

您应将method()设置为受保护或公开,以在父类和子类中进行访问。 在创建/声明私有方法的类中可以访问私有方法。

是。 如Bojin Li所说,除非在方法之前声明了访问修饰符(如“ private”),否则从该方法的基类继承的所有类都将具有“ method()”成员。

默认情况下,没有“ public”访问修饰符的类成员被视为私有成员。

需要牢记的两件事(我还没有看到其他人提到过):如果说“ method()”是“静态的”,则可以随时访问它,而无需从其类继承来获得“ method()”,在C#中一次只能继承一个类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM