1. 首页
  2. 课程学习
  3. .Net
  4. 类成员的其他议题-机器人学导论第三版课后习题答案

类成员的其他议题-机器人学导论第三版课后习题答案

上传者: 2024-07-27 10:16:54上传 PDF文件 14.06MB 热度 8次

10.2类成员的其他议题

下面该讨论一些比较高级的成员议题了。本节主要研究:

  • 隐藏基类方法

  • 调用重写或隐藏的基类方法

  • 嵌套的类型定义

10.2.1 隐藏基类方法

当从基类继承一个(非抽象的)成员时,也就继承了其实现代码。如果继承的成员是虚拟的,就可以用override关键字重写这段实现代码。无论继承的成员是否为虚拟,都可以隐藏这些实现代码。这是很有用的,当继承的公共成员不像预期的那样工作时,就可以隐藏它。使用下面的代码就可以隐藏:


public class MyBaseClass {

    public void DoSomething() {

        // Base implementation.

    }

}



public class MyDerivedClass : MyBaseClass {

    public void DoSomething() {

        // Derived class implementation, hides base implementation.

    }

}

尽管这段代码正常运行,但它会产生一个警告,说明隐藏了一个基类成员。如果是无意间隐藏了一个需要使用的成员,此时就可以改正错误。如果确实要隐藏该成员,就可以使用new关键字显式地表明意图:


public class MyDerivedClass : MyBaseClass {

    public new void DoSomething() {

        // Derived class implementation, explicitly hides base implementation.

    }

}

想了解更多关于重写和隐藏基类方法的详细信息,可以参考这篇文章:重写隐藏基类new override的方法

对于那些对Python感兴趣的人来说,Python中同样存在类似的概念和实现方法。可以参考这篇关于如何在Python中替换基类方法的文章:Python基类方法替换。如果你更想了解如何在Python中获取父类的类成员方法,请查看这篇文章:Python实现子类获取父类的类成员方法

不仅如此,C#中的子类对基类方法的继承、重写与隐藏还有更多的讨论,详见这篇文章:C#子类对基类方法的继承重写与隐藏详解。这些资源可以帮助你更深入地理解和掌握这些高级编程技巧。

学习编程时,发现并利用这些技巧就像在黑暗中找到一盏明灯,使你在复杂的代码海洋中游刃有余。还等什么,快点击这些链接去探索吧!

用户评论