subtyping相关内容

唯一目的是指定另一个表的子集的表

我正在设计的数据库有一个 employees 表;可以有多种类型的员工,其中一种是医疗员工.数据库还需要描述医务人员与其具备的能力之间的多对多关系. 是否可以创建一个只有 id 列的表 medical_employees,其唯一目的是指定哪些员工是医生?id 列有一个引用 employees 表的外键约束.下面的代码应该让我的问题更清楚: /* 定义一个通用员工 */CREATE TABL ..
发布时间:2021-12-26 21:18:40 数据库

派生类和基类之间指针到指针的转换?

关于以下 C++ 程序: class Base { };类孩子:公共基地{};int main(){//正常:允许使用 child 作为基础子 *c = 新子 ();基数 *b = c;//双指针:显然不能使用 Child** 作为 Base**孩子 **cc = &c;基地 **bb = cc;返回0;} GCC 在最后的赋值语句上产生以下错误: 错误:从“Child**"到“Base** ..
发布时间:2021-12-13 12:58:21 C/C++开发

为什么子类型需要在用作函数参数之前分配给变量?

我正在学习子类型,想知道为什么这里给出一个例子 https://www.typescriptlang.org/docs/handbook/type-compatibility.html 可以编译,但是当我将子类型作为参数直接传递给函数时,它不会编译. 这是来自 typescriptlang.org 的原始代码 接口命名为{名称:字符串;}让 x:命名;//y 的推断类型是 { name: ..
发布时间:2021-09-11 20:26:20 其他开发

TypeScript:子类型化和协变参数类型

常识表明,子类型在返回类型方面应该是协变的,而在参数类型方面应该是相反的。因此,由于 Ef 的严格协变参数类型,以下内容应被拒绝: 接口C { f(o:C):void } 接口D扩展了C { g():void //给D一个额外服务 } E类实现C { //实现f的版本具有更强的假设性 f(o:D):void { og()//依靠D承诺的额外服务 } } // E ..
发布时间:2020-10-10 21:32:52 其他开发

协变方法参数类型

wiki Contravariant_method_argument_type 说,替代方法将子类型化规则作为函数类型,但是除一种语言之外,没有一种语言支持相反的参数类型。我也想不出使用它的好处。 示例: class AnimalShelter { Animal getAnimalForAdoption(){...} void putAnimal(Animal animal){ ..
发布时间:2020-10-10 21:32:19 Java开发

如何在Isabelle中定义子类型及其含义?

关于Isabelle中的子类型的问题非常冗长typedecl A 这样做,我想使类型B的元素可以访问在A上定义的所有操作和关系(此处未打印). 一个更复杂的示例是将B和C定义为A的子类型,以使B和C不相交,并且A的每个元素都是B类型或C类型. 谢谢 解决方案 Isabelle没有子类型,尽管子类型的某些方面可以如所解释的那样进行仿真 ..
发布时间:2020-07-23 19:02:35 其他开发

Scala是否有像ML这样的价值限制,如果没有,那为什么呢?

这是我对这个问题的看法.任何人都可以确认,否认或详细说明吗? 我写: Scala不会将协变量 List[A]与分配了 List[Int]的GLB un统一,bcz afaics在对分配的方向很重要.因此,None必须具有类型Option[⊥](即Option[Nothing]),同上Nil类型List[Nothing],它们不能分别接受来自和Option[Int]或List[Int]的 ..
发布时间:2020-07-23 05:11:37 其他开发

我们可以代表“自类"吗?在Java(或Kotlin)中?

我认为问题标题有点令人困惑,但是我找不到更准确的说法. 我只需要一个简单的代码示例即可告诉您我想要什么. 我有: // code 1 interface A { A bla(); } class B implements A { @Override public B bla() { return this; } } class C implements A { @Override p ..
发布时间:2020-04-26 12:50:34 Java开发

在Nothing上调用任何方法

尽管没有明确说明是所有类型的子类型,这(除其他外)建议: fun f(x:Float) { } fun g(x:Char) { } fun dead(q: Nothing) { f(q) g(q) } 但是,此操作失败,并显示“未解析的引用": fun dead(q: Nothing) { q.not() } 这是错误还是功能? 注意: 第 ..
发布时间:2020-04-26 12:49:14 其他开发

通用定义内的原始类型

class MyClass 我不知道为什么以下泛型定义不会产生编译器警告。 {} 以上定义与 $ b $不同b class MyClass> {} 当您阅读泛型时,您会了解应该如何避免原始类型,你处理泛型类型,你会得到一个编译器警告。然而,第一个定义中的原始类型不会产生这样的警告。其次,我 ..
发布时间:2018-04-23 14:40:26 Java开发

表的唯一目的是指定另一个表的子集

我正在设计的数据库有一个员工表;可以有多种类型的员工,其中一类是医务人员。数据库还需要描述医务人员之间的多对多关系以及他们拥有的能力。 创建一个表格是否可行?只有 id 列的medical_employees ,其唯一目的是指定哪些员工是医疗人员? id 列具有引用员工表的外键约束。下面的代码应该使我的问题更清楚: / *定义一个通用员工* / CREATE TABLE empl ..
发布时间:2017-03-21 22:28:53 数据库