• C# 子类如何访问子类的方法(同一父类)


    在继承关系中,子类可以通过创建另一个子类的对象来访问其方法。下面是一个示例,展示了子类如何访问另一个子类的方法:

    1. public class Animal
    2. {
    3. public virtual void Speak()
    4. {
    5. Console.WriteLine("我是动物。");
    6. }
    7. }
    8. public class Cat : Animal
    9. {
    10. public void Purr()
    11. {
    12. Console.WriteLine("猫咪正在发出呼噜声。");
    13. }
    14. }
    15. public class Dog : Animal
    16. {
    17. public void Bark()
    18. {
    19. Console.WriteLine("狗正在汪汪叫。");
    20. }
    21. }
    22. public class Test
    23. {
    24. static void Main()
    25. {
    26. Cat myCat = new Cat();
    27. Dog myDog = new Dog();
    28. myCat.Purr(); // 输出:猫咪正在发出呼噜声。
    29. myDog.Bark(); // 输出:狗正在汪汪叫。
    30. // 子类访问另一个子类的方法
    31. ((Cat)myDog).Purr(); // 输出:猫咪正在发出呼噜声。
    32. ((Dog)myCat).Bark(); // 输出:狗正在汪汪叫。
    33. }
    34. }

    在这个示例中,我们定义了父类 Animal 和两个子类 CatDog。每个子类都有自己独特的方法(Purr()Bark())。

    Test 类的 Main() 方法中,我们实例化一个 Cat 对象 myCat 和一个 Dog 对象 myDog。然后,我们直接通过这些对象分别调用它们自己的方法。

    在子类中访问另一个子类的方法时,我们需要进行显式的类型转换。在示例中,我们将 myDog 强制转换为 Cat 类型,并调用 Purr() 方法;将 myCat 强制转换为 Dog 类型,并调用 Bark() 方法。虽然这种做法不太常见,但在某些特殊情况下可能会有需要。

    需要注意的是,使用强制类型转换时应确保对象的实际类型与目标类型兼容,否则会引发运行时异常。

    以上内容参考自呱呱AI助手呱呱AI智能助手

  • 相关阅读:
    数据结构与算法第一课
    linux安装docker-compose
    大数据Flink(八十二):SQL语法的DDL:Create 子句
    nginx的配置加载
    nacos应用
    服务器开发不常见操作
    好好学习第二天:服装图像分类
    2023年,下班后可以做什么副业?
    IDEA本地将镜像推送到coding制品仓库
    DB2 HADR 配置 centos 7配置 DB2 HADR 版本 11.1,【亲测可用】全网最细
  • 原文地址:https://blog.csdn.net/leoysq/article/details/132694164