A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱亮辉 高级黑马   /  2012-5-23 10:04  /  2018 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C#继承中,基类如何访问派生类的对象。为什么要用基类访问派生类的对象,主要在那种情况下应用?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

4 个回复

倒序浏览
C#中,继承的方式一共有 public private protect internal
想要基类可以访问派生类的成员或方法,就要用public,protect,internal这三种方式继承
创建好派生类后,如果派生类没有发生函数或成员覆盖,那么直接访问即可;如果派生类的函数或成员发生了重名,则要考虑重载和隐藏,在此就不一一列举了。

基类访问派生类的对象体现了面向对象编程中多态这一经典特性。主要用在一些写好的框架和接口中。因为对于一个框架来说,用户可能要通过派生新类的方法来添加一些新的属性和方法,而这时如果没有多态的话,那用户怎么向这个框架传参数?这个框架还怎么被广泛使用?

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
冯奎智 发表于 2012-5-23 20:55
C#中,继承的方式一共有 public private protect internal
想要基类可以访问派生类的成员或方法,就要用pub ...

难道是我描述的问题,你回答的驴嘴不对马唇的
回复 使用道具 举报
将派生类在父类里面声明为友元类就可以访问

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
朱亮辉 发表于 2012-5-23 22:30
难道是我描述的问题,你回答的驴嘴不对马唇的

再通读了问题后我发现是我理解错了 =。=#

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马