C#继承问题思考

-bootblack- 2016-03-28 05:17:36
C#只能实现单根继承,也就是说只能继承一个基类.
class A
{
}
class B : A //问题1:这里默认的继承方式属于公有继承?
{
}
问题2:(C#不允许写类似class B : protected A;)那我如果想实现保护继承,私有继承该如何处理?恳请大神指教~
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
-bootblack- 2016-03-29
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
完全可以对 A 声明为 private、internal 等等。但是声明为 private 的时候,要求 B 也是 private 的,这个逻辑概念只要动动脑筋就懂了,很好理解(反倒是多余的想法不好理解)
感谢大神指导~
  • 打赏
  • 举报
回复
完全可以对 A 声明为 private、internal 等等。但是声明为 private 的时候,要求 B 也是 private 的,这个逻辑概念只要动动脑筋就懂了,很好理解(反倒是多余的想法不好理解)
  • 打赏
  • 举报
回复
B中继承来的特性,到底要不要让人访问呢?如果不让人以为是继承而来的,那么在B中单独定义(例如使用某种 IA 接口并将具体实现委派给一个A对象)就可以了;如果想让人以为是继承而来的,那么就直接让人明确地知道A有什么特性并且可以用在多态声明方面就行了。 多余的东西,则很混乱。
threenewbee 2016-03-29
  • 打赏
  • 举报
回复
如果你不谈具体的编程,而是纠结于一个C#无法实现的语法,那很遗憾,似乎你只能放弃C#了。
Poopaye 2016-03-28
  • 打赏
  • 举报
回复
问题1:c#的继承方式只有public 问题2:我一直不明白c++里这两种继承方式有什么用
杨友山 2016-03-28
  • 打赏
  • 举报
回复
你可以重点了解一下C#中的这几个关键字的区别就OK。
杨友山 2016-03-28
  • 打赏
  • 举报
回复
public 可被所属类的成员以及不属于类的成员访问 internal 可被当前程序集访问 protected 可被所属类或派生自所属类的类型访问 private 仅所属类的成员才可以访问 1、默认类型为internal类型 2、私有成员不允许继承

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧