Scala重载是什么
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容主要讲解"Scala重载是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Scala重载是什么"吧!如果一个标识符或选择e引用了数个类的成员,则
千家信息网最后更新 2025年12月01日Scala重载是什么
本篇内容主要讲解"Scala重载是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Scala重载是什么"吧!
| 如果一个标识符或选择e引用了数个类的成员,则将使用引用的上下文来推断唯一的成员。使用的方法将依赖于e是否被用作一个函数。设A是e引用的成员的集合。 首先假定e作为函数出现在应用中,比如e(args)。如果在A中有且仅有一个可选成员是一个(可能是多态)方法类型,其元数与给出的参量数目匹配,则就会选定该可选成员。 否则,设Ts是通过用未定义类型来类型化每个参量所得到的类型向量。首先要确定的是可用的可选成员的集合。如果Ts中每个类型都与对应的可选成员中正式参数类型相似,且如果期望类型已定义,方法的结果类型与之兼容,则该可选项是可用的。对于一个多态方法,如果本地类型推断可以确定类型参量,则该实例化的方法是可用的,继而该多态方法也是可用的。 设B是可用的可选项的集合。如果B为空则导致错误。否则可以用以下"同样具体"和"更具体" 的定义来选出在B中最具体的可选项: 具有类型(Ts)U的参数化的方法,如果有某些类型为S的其他成员,S对于类型Ts的参量(ps)是可用的,则该方法与这些成员同样具体。 具有类型[a1 >: L1 <: U1,...,an >: Ln <: Un]T的多态方法,如果有某些类型为S其他成员,如果假定对于i=1,...,n,每个ai都是一个抽象类型命名,其边界在Li之上且在Ui之下,有T和S同样具体,则该方法和这些成员同样具体。 具有其他类型的成员总是与一个参数化的方法或一个多态方法同样具体。 给定具有类型T和U的两个没有参数化也不是多态方法类型的成员,类型为T的成员与类型为U的成员同样具体的条件是T的双重存在与U的双重存在相似。这里多态类型[a1 >: L1 <: U1,...,an >: Ln <: Un]T的双重存在是T forSome { type a1 >: L1 <: U1,...,type an >: Ln <: Un}。其他类型的双重存在是类型自身。 如果A与B同样具体,同时要么B与A不同样具体,要么A在B的一个子类中定义,则A比B更具体。 如果B中没有可选项比B中其他可选项更具体则将导致错误。 下面假定e以函数的形式在类型应用中出现,比如e[targs]。那么我们将选择A中所有的与targs中的类型参量具有同样数目的参数类型的可选项。如果没有该类可选项将导致错误。如果有多个这样的可选项,则将对整个表达式e[targs]重新应用重载解析。 最后我们假定e没有在应用或类型应用中做为函数出现。如果给出了期望类型,设B是A中与其兼的该类可选项的集合。否则,设B为A。在此情况下我们在B的所有可选项中选择最具体的可选项。如果B中没有可选项比B中其他所有的可选项更具体则将导致错误。 在所有情况下,如果最具体的可选项定义在类C中,且有另外一个可应用的可选项定义在C的子类中,则将导致错误。 示例6.25.1 考虑以下定义: class A extends B {} def f(x: B, y: B) = ... def f(x: A, y: B) = ... val a: A val b: B 则应用f(b, b)指向f的第一个定义,应用f(a, a)指向第二个。假设我们添加第三个重载定义 def f(x: B, y: A) = ... 则应用f(a, a)将因模糊定义而被拒绝,因为不存在更具体的可应用签名。 |
到此,相信大家对"Scala重载是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
类型
成员
方法
应用
多态
参数
参量
错误
函数
选择
相似
内容
子类
指向
数目
要么
学习
推断
期望
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
星露谷物语要谷歌服务器吗
数据库中的的事务在哪一章
郑州爱普网络技术公司
订单的数据库设计
5.12汶川特大地震数据库
模型参数提取软件开发
株洲云龙示范区软件开发国企
dell服务器 启动
网络安全研发法案 美国
服务器没做raid后再做
电信itv服务器怎么设置
贵州网络安全技术维护中心
数据库中的添加数据
服务器中了勒索病毒
数据库安全2292520Z空间
金牛区网络安全宣传
数据库更新数据为什么不实现
关于数据库安全论文
戴尔r420服务器尺寸
明日方舟代理服务器
网络安全宣传反诈
java访问数据库技术
云中指南北京网络技术有限公司
昨天steam服务器炸了
网络安全为人民500字
下面属于access数据库
上海天殊网络技术有限公司
境外云服务器安全吗
临沂企业党建软件开发专业制作
量化积分管理软件开发公司