递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 3992|回复: 13
打印 上一主题 下一主题

[视窗] 突然理解吴总为啥不开放多态(⍻)(重载√)了

[复制链接]

67

主题

958

帖子

4224

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4224
跳转到指定楼层
楼主
发表于 2023-10-4 15:02:06 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 hcwanz 于 2023-10-5 17:26 编辑

如图,是火山核心库里输入流对象的代码,看的一脸懵,搁这无限套娃呢
回复

使用道具 举报

8

主题

105

帖子

1004

积分

金牌会员

Rank: 6Rank: 6

积分
1004
14#
发表于 2023-10-5 20:44:17 来自手机 | 只看该作者
方法重载和方法覆盖分不清的路过,所以也不知道什么是多态的实现
回复

使用道具 举报

6

主题

64

帖子

2493

积分

金牌会员

Rank: 6Rank: 6

积分
2493
13#
发表于 2023-10-5 17:06:54 | 只看该作者
Xelloss0618 发表于 2023-10-4 21:34
你们基础理论有待提高,首先火山没有阉割多态,函数重载就是函数重载,它不是多态,别乱叫。
火山不开放函 ...

"函数重载就是函数重载,它不是多态,别乱叫。"
C++有动态多态、静态多态,火山的多态是动态多态,而函数重载是静态多态的一种实现方式。
不过他们说的确实太模糊了一点,说函数重载更准确。
火山PC交流群: 748413192
回复

使用道具 举报

55

主题

291

帖子

3387

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3387
12#
发表于 2023-10-5 08:46:33 | 只看该作者
相比重载,哪怕提示不正确,跳转错误我也能接受
必竟重载太香了。
回复

使用道具 举报

111

主题

608

帖子

2148

积分

金牌会员

Rank: 6Rank: 6

积分
2148
QQ
11#
发表于 2023-10-5 00:13:01 | 只看该作者
本帖最后由 server 于 2023-10-5 00:28 编辑
Xelloss0618 发表于 2023-10-4 21:34
你们基础理论有待提高,首先火山没有阉割多态,函数重载就是函数重载,它不是多态,别乱叫。
火山不开放函 ...




这有什么好纠结的。
多态承载之类的 单独参数不显示。 鼠标放到名称上,直接一股脑全给他 递增排序 显示出来。

实际翻译的时候,根据参数匹配即可。

  1.     重载规则:
  2.     (1)包含多个同名函数,但是参数各不相同。
  3.     (2)参数类型、参数个数、参数顺序(不同类型间)至少有一个不同。
  4.     (3)可以改变返回值类型(不能作为重载判断依据)
  5.     (4)可以改变访问修饰符(不能作为重载判断依据)
  6.     (5)可以改变异常类型和数量(不能作为重载判断依据)

  7.     重写规则:
  8.     (1)存在于子类和父类之间
  9.     (2)子类必须和父类的方法名和参数列表必须完全相同。
  10.     (3)可以改变返回值类型,但子类返回值类型必须是父类返回值类型的派生类。
  11.     (4)可以改变访问修饰符,但是子类权限只能更开放。
  12.     (5)声明为 final 的方法不能被重写。
  13.     (6)声明为 static 的方法不能被重写,但是可以被重新声明。
  14.     (7)构造器不能被重写。
  15.     (8)子类和父类在同一个包中时,子类可以重写父类所有方法(出 private 和 final)。
  16.     (9)子类和父类在不同包中时,子类只能重写父类的 public 和 protected 的非 final 方法。
  17.     (10)重写可以抛出任何非强制性异常,但是不能抛出新的强制性异常,或者比父类方法更广泛的异常。
复制代码

专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

55

主题

291

帖子

3387

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3387
10#
发表于 2023-10-4 23:18:18 | 只看该作者
本帖最后由 一代码农 于 2023-10-5 05:43 编辑
Xelloss0618 发表于 2023-10-4 21:34
你们基础理论有待提高,首先火山没有阉割多态,函数重载就是函数重载,它不是多态,别乱叫。
火山不开放函 ...

难点就在于准确的提示以及精准的跳转。
如果参数数量一致,暂且先把匹配项全列出来,日后慢慢优化,但不要阉割啊。
回复

使用道具 举报

68

主题

314

帖子

1851

积分

金牌会员

嘿嘿哈哈

Rank: 6Rank: 6

积分
1851
9#
发表于 2023-10-4 22:34:08 | 只看该作者
让所有人都能写程序。
不是让一部分人写程序。
回复

使用道具 举报

26

主题

1806

帖子

6609

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6609
8#
发表于 2023-10-4 21:34:22 来自手机 | 只看该作者
你们基础理论有待提高,首先火山没有阉割多态,函数重载就是函数重载,它不是多态,别乱叫。
火山不开放函数重载,我猜是因为太乱了,难以做到恰当的语法提醒。
强如VS Code,也只能提示这个函数有多少个重载,具体参数是什么,无法一目了然。
回复

使用道具 举报

67

主题

958

帖子

4224

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4224
7#
 楼主| 发表于 2023-10-4 19:00:15 | 只看该作者
xrea 发表于 2023-10-4 18:04
还有一个函数重载这个功能也阉割了,封装类库的时候,每次都要重复劳动

函数名可以封装完后把文本源码替换掉,“方法”后面和“<”前面的就是方法定义的地方,检测到重复的就在后面加个数字。
<火山程序 类型 = "通常" 版本 = 1 />

方法 方法1 <公开>
{

}



回复

使用道具 举报

65

主题

443

帖子

4805

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4805
QQ
6#
发表于 2023-10-4 18:04:50 | 只看该作者
还有一个函数重载这个功能也阉割了,封装类库的时候,每次都要重复劳动
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-9-25 10:55 , Processed in 0.100375 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表