Tag: 多重继承

静态类型的语言与特性和函数重载?

是否存在任何语言: 是静态(强烈)键入 支持泛型(模板) 支持特性/多重继承/接口委派 允许函数重载(也是继承的成员) 基本上,在伪代码中,我想这样做: class Template<SomeType> { void function(SomeType i) {} } class Composed extends Template<int>, Template<double> { }; Composed composed; composed.function(3); //calls function(int) composed.function(2.5); //calls function(double) 从维基列表http://en.wikipedia.org/wiki/Multiple_inheritance#Implementations我试图用下面的编程语言编写代码(我还包括最新的尚未发布的1.0版本(2013年)的语言,如Kotlin,锡兰): C ++几乎可能,但不能解决组合变量的重载函数 Scala编译错误:特征继承两次; 即使被间接继承欺骗,它仍然会产生错误; 另请参阅其他人在Scala中关于多个泛型混合继承的问题 埃菲尔编译错误:没有函数重载 锡兰特征不能有变量(也没有保护成员,所以没有把数据存储在派生类中的技巧,锡兰特征是无用的) Fantom没有泛型/模板 Kotlin编译错误:超类型出现两次; 代表团看起来是独一无二的,但没有用处,因为可以既不访问受保护的成员,也不访问委派的变量 铁锈无功能重载; 性状不能存储数据; 特征不能有定义的方法(与身体) – 正在处理的问题; OCaml编译错误:没有函数重载; 它也没有检查我的函数的参数类型,所以如何“静态类型”它真的是? 卷曲编译错误:没有函数重载; 它也不检查函数体,除非被调用,那么“静态类型”是如何呢? 是根本编译还是解释? Gosu是一个不好的笑话,它根本不可用:不能用一个方法编写和实现简单的接口(错误:ClassFormatError:非法字段修饰符)。 谁实际上使用这种语言? 顺便说一句:我想这个问题,当我试图把听众的Java支持到单独的类(在许多类中有:List <ListenerType> … […]

Kotlin Custom View类实现了一个无法在`:app:compileDebugKotlinAfterJava`中解析的接口。 相同的Java版本正常工作

我有一个Android项目,其中包含一个带有泛型类的aar library module ,这些泛型类被用作几个应用程序的基础。 一切都是用Kotlin编写的,没有使用Java代码(第三方库除外)。 尝试组装应用程序以运行时,会发生此问题。 试图运行我的应用程序时出现以下错误: :app:compileDebugKotlinAfterJava e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath: class com.test.app.view.ECMKotlinTextView, unresolved supertypes: com.test.lib.localization.Localizable 为了这个问题的目的,我写了一个自定义TextView的两个单独的版本,它扩展了android.widget.TextView类并实现了一个接口,让我们说Localizable ; 一个在Java ,另一个在Kotlin 。 ECMJavaTextView.java package com.test.lib.view; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.util.AttributeSet; import android.widget.TextView; import com.test.lib.localization.Localizable; import org.jetbrains.annotations.NotNull; […]

Kotlin中的多重继承

考虑下面的例子 public class SomeActivity() : Activity(), OnClickListener { override fun onCreate(Bundle?: savedInstanceState) { super<Activity>.onCreate(savedInstanceState) … someButton.setOnClickListener(this) // How do I refer to the `OnClickListener` implementation? } } 如何引用上面提到的代码片段中的OnClickListener实现?