- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我当时正在研究多重继承的概念(我在愤怒中编写 C++ 代码已经快 10 年了,只是对这个概念有学术上的兴趣)。我找到了这个 reference在维基百科上。
他们列出的对 MI 的一个批评是“无法从单个类显式继承多次”。我对这种说法感到困惑,并且不能 100% 确定这是指什么。
当然,类继承描述了一个类的结构,从同一个类继承多次只会重复同一个类契约,所以我看不出它有什么好处来证明批评是正当的。显式继承会假定类函数和属性的多个实例吗?
我想了解这种批评指的是什么,以及为什么它对启用多重继承的语言隐式不可用。
最佳答案
这叫做 Diamond Problem .大多数允许 MI 的现代语言都有解决方案。
简而言之,你有这个类树:
class A { public int f = 0; };
class B extends A { f = 1; };
class C extends A { f = 2; };
class D extends B, C {};
D.f 会打印什么?如果你给 D.f 赋值,它应该存储在哪里? B(A).f 和 C(A).f 这两个字段应该合并为一个还是应该分开?如果在 B 和 C 中覆盖 A 的方法 x,D.x() 应该做什么?两个都叫?按什么顺序?返回值呢?
关于oop - 多重继承批评,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/531946/
这是建议的解决方案(我确实搜索了相同的解决方案 - 没有成功) public abstract class AsyncCache { /** * an ato
在挖掘一些旧的源代码时,我看到了以下内容: my $module = $some{module}; eval "require $module"; die "Bad module\n$@" if $@
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 3年前关闭。 锁定。这个问题及其答案是loc
我设计了以下方法来捕获整个AS3应用程序中的错误: 在Document类中,定义以下方法: //This is the handler for listening for errors protect
我想知道是否有人看到任何可能导致此代码出现问题的内容。我知道我可以使用其他方法/API 调用来完成此操作,但我正在尝试为我自己的平台独立性奠定基础?/跨平台互斥框架。 显然我需要做一些#ifdef 并
我一直在阅读大量有关实现响应式移动下拉菜单的不同方法的资料。纯 CSS 解决方案对我来说似乎有点笨拙,但我讨厌依赖 javascript 来处理像导航菜单这样重要的事情。我想到的是使用 javascr
我即将构建我的第一个基于 Lisp 的严肃项目:一个需要扩展到数以万计的用户(不是同时的 - 最多可能是数百个同时)的 Web 应用程序。 我打算使用的堆栈如下所示: Weblocks具有 Berke
我正在寻找 PerlCritic 的等价物对于 PHP。 PerlCritc 是一个静态源代码分析器,它对代码进行 qritiques,并就从未使用的变量到处理数据的不安全方式到几乎所有内容的所有内容
我正在编写一个 perl 脚本,该脚本需要在调用外部程序之前设置许多环境变量。我的代码有形式 $ENV{'VAR1'} = "value1"; $ENV{'VAR2'} = "value2
我是一名优秀的程序员,十分优秀!