hcwanz 发表于 2025-1-19 09:13:46

火山实现多态的方法



小小小小鸟 发表于 2025-1-19 10:05:01

每次判断用对象类型是否相同都要新建一个对象,太影响效率了。可以用 对象.为指定对象类(类名)来判断。

urenai 发表于 2025-1-19 10:37:29

楼上正解,而且你这创建了对象也不释放,妥妥

hcwanz 发表于 2025-1-19 11:11:38

urenai 发表于 2025-1-19 10:37
楼上正解,而且你这创建了对象也不释放,妥妥
对象不用释放, 会自动调用清理方法, 内存和对象指针需要手动释放.

fengshangren 发表于 2025-1-19 13:14:09

这算多态吗,这不一个一个遍历对比吗

uuyyhhjj 发表于 2025-1-19 16:33:33

之前不是更新了个读指针处对象的东西吗

<火山程序 类型 = "通常" 版本 = 1 />

变量 对象指针1 <类型 = 变整数>
变量 对象指针2 <类型 = 变整数>
变量 对象指针3 <类型 = 变整数>

对象指针1 = 创建对象指针 (狗)
对象指针2 = 创建对象指针 (狼)
对象指针3 = 创建对象指针 (外星人)
读指针处对象 (对象指针1, 动物).输出 ()
读指针处对象 (对象指针2, 动物).输出 ()
读指针处对象 (对象指针3, 动物).输出 ()
销毁对象指针 (对象指针1)
销毁对象指针 (对象指针2)
销毁对象指针 (对象指针3)


<火山程序 类型 = "通常" 版本 = 1 />

类 动物
{
    方法 输出 <公开 @虚拟方法 = 可覆盖>
    {
      调试输出 ("动物")
    }
}

类 狗 <基础类 = 动物>
{
    方法 输出 <公开 @虚拟方法 = 可覆盖>
    {
      调试输出 ("狗")
    }
}

类 狼 <基础类 = 动物>
{
    方法 输出 <公开 @虚拟方法 = 可覆盖>
    {
      调试输出 ("狼")
    }
}

类 外星人
{
    方法 hethetfgg <公开 @虚拟方法 = 可覆盖>
    {
      调试输出 ("hethetfgg")
    }

    方法 输出 <公开 @虚拟方法 = 可覆盖>
    {
      调试输出 ("外星人")
    }

    #
}

hcwanz 发表于 2025-1-19 16:37:22

uuyyhhjj 发表于 2025-1-19 16:33
之前不是更新了个读指针处对象的东西吗

指针只限火山视窗, 对象类的应该可以通用视窗和安卓吧

uuyyhhjj 发表于 2025-1-19 16:44:52

hcwanz 发表于 2025-1-19 16:37
指针只限火山视窗, 对象类的应该可以通用视窗和安卓吧

其实就是C++在火山里是明显不够用的
页: [1]
查看完整版本: 火山实现多态的方法