递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库

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

查看数: 3991 | 评论数: 13 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-10-4 15:02

正文摘要:

本帖最后由 hcwanz 于 2023-10-5 17:26 编辑 如图,是火山核心库里输入流对象的代码,看的一脸懵,搁这无限套娃呢

回复

scholer 发表于 2023-10-5 20:44:17
方法重载和方法覆盖分不清的路过,所以也不知道什么是多态的实现
龙纹 发表于 2023-10-5 17:06:54
Xelloss0618 发表于 2023-10-4 21:34
你们基础理论有待提高,首先火山没有阉割多态,函数重载就是函数重载,它不是多态,别乱叫。
火山不开放函 ...

"函数重载就是函数重载,它不是多态,别乱叫。"
C++有动态多态、静态多态,火山的多态是动态多态,而函数重载是静态多态的一种实现方式。
不过他们说的确实太模糊了一点,说函数重载更准确。
一代码农 发表于 2023-10-5 08:46:33
相比重载,哪怕提示不正确,跳转错误我也能接受
必竟重载太香了。
server 发表于 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)重写可以抛出任何非强制性异常,但是不能抛出新的强制性异常,或者比父类方法更广泛的异常。
复制代码

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

难点就在于准确的提示以及精准的跳转。
如果参数数量一致,暂且先把匹配项全列出来,日后慢慢优化,但不要阉割啊。
hs999xl 发表于 2023-10-4 22:34:08
让所有人都能写程序。
不是让一部分人写程序。
Xelloss0618 发表于 2023-10-4 21:34:22
你们基础理论有待提高,首先火山没有阉割多态,函数重载就是函数重载,它不是多态,别乱叫。
火山不开放函数重载,我猜是因为太乱了,难以做到恰当的语法提醒。
强如VS Code,也只能提示这个函数有多少个重载,具体参数是什么,无法一目了然。
hcwanz 发表于 2023-10-4 19:00:15
xrea 发表于 2023-10-4 18:04
还有一个函数重载这个功能也阉割了,封装类库的时候,每次都要重复劳动

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

方法 方法1 <公开>
{

}



xrea 发表于 2023-10-4 18:04:50
还有一个函数重载这个功能也阉割了,封装类库的时候,每次都要重复劳动

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

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

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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