网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月21日漏签0天
c#吧 关注:188,327贴子:822,377
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 0回复贴,共1页
<<返回c#吧
>0< 加载中...

请教一个关于游戏多态的问题?

  • 只看楼主
  • 收藏

  • 回复
  • _JackCat_
  • c#小菜鸟
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有A、B、C三个类。
A类:实现提升攻击力
B类:实现提升防御力
C类:要如何才能同时拥有A类和B类实现的效果呢?
如果用继承,继承A类时,C类就得重写B类的实现提升防御力。继承B类时,C类就得重写A类的效果。
我要怎么做才能让C类拥有A、B两种效果的同时,又不重复写A、B类已经实现的功能呢?
难道要在C类定义A和B的成员?这会不会有些简单粗暴?是不是像这种情况,游戏里面都是通过组合的方式来解决的?甚至例如:D类,拥有A类和C类的某些功能,但是不包含B类实现的功能(不一定是提升防御力,还可以是其它的效果),但C类因为继承关系已经包含B类的效果了。是不是都只能通过组合的方式来解决?单独分开每个实现的效果,然后进行组合调用?
而像用父类作为参数,子类实现多态。像上面这种情况:让子类继承父类后,子类就不宜再被继承了?(因为我觉得如果继承子类的话,有可能会出现上面的那些情况。)
请大佬指教,谢谢!


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回c#吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示