在多级继承中从子类调用“大”父函数[重复]

2024-01-09

public class GrandParent
{
    public void walk()
    {
        ...
    }
}

public class Parent
{
    public void walk()
    {
        ...
    }
}

public class Child
{
    public void walk()
    {
        // Here in some cases I want to use walk method of GrandParent class
    }
}

现在在 Child.walk() 中,我只想在某些情况下使用 GrandParent.walk() 。我怎样才能做到这一点?由于 super.walk() 将始终使用 Parent.walk()。

NOTE:(请注意,这是复杂场景的简化示例)

NOTE2:请仅告知是否有这样做的标准程序。我在父类中使用了一个标志,如果子类想要使用 GrandParent 的方法,则可以设置该标志。但这个序列变得非常复杂。


这里的问题在于调用父函数“walk”的决定。它不应该被称为“步行”,除非它旨在成为祖父母的完整功能替代品walk().

如果该决定无法更改,那么 @zvzdhk 的现有答案中建议的解决方案是最好的解决方案。

理想情况下,家长walk()将被赋予一个新名称,反映其功能与 GrandParent 的不同之处walk()。然后可以从 Child 类调用每个函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在多级继承中从子类调用“大”父函数[重复] 的相关文章

随机推荐

  • cmake/ctest:是否可以使用构建目标的创建作为测试?

    我有一个程序 它读取文件格式的描述 好奇的 ISO 10303 11 并从中生成 c 生成的代码被编译到库中 并且该库与各种可执行文件链接以读取 写入该文件格式 我已设置 CMake 来构建生成器程序并为配置时指定的任何文件格式生成库 现在
  • .NET Web API:如果实例为 null,类级别验证属性会导致 Web API 抛出 ArgumentNullException

    例如 我有一个 DTO 类 如下所示 public class ExampleDto DataMember Name Date IsRequired true Order 1 Required public DateTime Date ge
  • 使用 jquery 中的 click() 事件从表单更新 Highchart

    我有一个图表 每当提交同一页面上的表单时我都想更新该图表 这var chart new Highcharts Chart options 表达式本身可以正常工作 它绘制图表 当我将它放在回调函数中时 click 事件中 当我单击相应的提交按
  • 在Linux上的C中分配可执行RAM

    我想在 Linux 上用 c 制作一个简单的即时编译器 如何分配内存 以便向其中写入原始 x86 代码并像其他函数一样执行它 请参阅 mprotect 用代码填充 n 页大小的内存区域 使用 mmap 分配 后 更改其权限以禁止写入并允许执
  • SQL Server 和 C# 的输出不同

    我相信我的编码有问题 我猜它不是按日期过滤 请帮忙 SQL代码 SELECT CONVERT char 80 i InvDate 3 AS InvDate i InvoiceNo i EmployerCode i TaxAmount i S
  • 如何使用 Python 测试 Selenium 中的警报/弹出窗口

    我被自动化困住了 当我输入错误的用户名和密码时 它会弹出 无法登录 尝试不同的用户名 def test logonWrongUserName self self setUpClass Initialize the driver self s
  • 如何在 git 中自动生成版本字符串[重复]

    这个问题在这里已经有答案了 可能的重复 为 Git 存储库启用 ident 字符串 https stackoverflow com questions 1792838 enable ident string for git repos 在我
  • UIRefreshControl在UITableView iOS6的底部?

    是否可以添加UIRefreshControl在底部UITableView 我会用它来加载更多数据 请问 有什么建议吗 我相信这个问题不会有任何简单的解决方案 也许有人可以编写一个单独的库来实现此行为 而且一旦您在表视图中缓存数据 它会导致更
  • 设置对象 nil 与release+realloc

    这不是垃圾收集环境 我有一个类实例变量 在运行时的某个时刻 我需要使用与最初构造时不同的数据集重新初始化 假设地说 如果我有一个NSMutableArray or an NSMutableDictionary 做这样的事情会更有效率吗 my
  • 在 MVC 应用程序中使用 ELMAH 调试/跟踪消息

    我们如何在 MVC 应用程序中使用 ELMAH 添加调试 跟踪消息 ELMAH 通常用于报告异常 而不是作为一般的调试 跟踪日志 对于调试 跟踪日志记录 我建议结合使用log4net https stackoverflow com ques
  • 在 Redhat 5 上运行 JavaFX 应用程序

    From my 上一个问题 https stackoverflow com questions 24420651 javafx helloworld jar cannot be ran on different platform 我知道Re
  • Azure 服务总线空闲时自动删除

    我试图找出设置 AutoDeleteOnIdle 时的正确行为 我有一个名为 MyGameMessages 的主题 不透露游戏名称 因为它可能被视为广告 我所做的是在服务器场中的每个节点上创建一个订阅 var manager GetName
  • 活动模型序列化器:nil:NilClass 的未定义方法“url_for”

    我在用着active model serializersgem 在我的应用程序中发送高级 json 响应 它实际上工作正常 但由于我安装了该 gem 使用几分钟后 应用程序崩溃 显示上面的错误 不确定我的代码是否与之相关 但不知何故 我也需
  • 如何使用Java测量网络响应时间?

    我们有一个客户端和一个服务器 我想测量它们之间网络的响应时间 当我向服务器发送请求时 它应该立即响应我的请求 它应该像 ping 请求一样 以便服务器不会有处理时间 我怎样才能在Java中做到这一点 我通过从客户端向服务器发送带有时间戳的数
  • 控制文件下载

    我正在使用 TWebBrowser 为我的程序构建一个更新程序 OnCreate 时 TWebBrowser 导航到给定的 URL 要下载更新 用户需要单击链接 单击链接时会出现此弹出窗口 所以我想知道是否可以 绕过该弹出窗口并允许自动下载
  • JQueryMobile 自动完成点击条目不更改输入值

    我尝试使用 jquery mobile 进行自动完成输入 所以我在这里找到了一个演示 http demos jquerymobile com 1 4 0 listview autocomplete remote http demos jqu
  • Java静态导入导致编译错误。可能是编译器错误?

    这在 Eclipse JDT 中可以正常编译 但在 1 6 30 或 1 7 25 上则不行 package doh import static doh Wtf InnerClass innerclassMethod import java
  • SQL Server 级联

    我正在制作一个网站 用户可以在其中发布 帖子 然后用户可以对这些帖子进行 评论 我有一个包含 3 个表的数据库 一项包含用户信息 一项包含帖子信息 最后一项包含评论信息 我想设置规则 以便如果用户被删除 他们的所有帖子和评论都会被删除 如果
  • Vue 使用 select、v-for 和 v-model 预选值

    我在用着select with v model并有选项v for和对象作为值 选项是一些由id标识的元素 如何根据自定义相等性预先选择选项 在本例中为相等 id场地 我正在寻找类似于 angularjs 的东西track by from n
  • 在多级继承中从子类调用“大”父函数[重复]

    这个问题在这里已经有答案了 public class GrandParent public void walk public class Parent public void walk public class Child public v