Articles of inheritance

Herencia de classs de datos de Kotlin + método de copy

Según mi experiencia personal y esta discusión, entiendo que cuando una data class henetworkinga de otra class, los campos de la class henetworkingada no se incluyen en la function de copy la class de datos. Me interesan las opciones para solucionar este problema. Específicamente, tengo un JPA @MappedSuperClass para mis entidades JPA, que son data […]

Suprima las quejas de Dokka sobre "No hay documentation para com.foo.Bar $ toString ()"?

Estoy usando el plugin Gradle Dokka versión 0.9.16-eap-1 para generar documentation para algún código de Kotlin. Soy un tipo de persona sin windows rotas y, en consecuencia, un poco frustrado de que el complemento genere una tonelada de posts para las classs para las que no he documentado explícitamente un método reemplazado que está adecuadamente […]

¿Los modificadores de acceso de Kotlin significan lo mismo que en Java?

Kotlin tiene 3 palabras key de acceso: public , private y protected . ¿Significan lo mismo que en Java, o hay diferencias? Además, ¿es internal lo mismo que el package private ? Sigo leyendo sobre "modules" en Kotlin, y no estoy seguro si esa es solo otra palabra para "package".

Propiedad de superclass no inicializada en class Derivada

Tengo el siguiente código de Kotlin: import java.util.* import kotlin.collections.HashSet open class Graph(open val n: Int) { val graph = List<MutableSet<Int>>(n) {HashSet<Int>()} open fun addEdge(u: Int, v: Int) { graph[u].add(v) graph[v].add(u) } val numEdges: Int get() { return graph.asSequence() .map { it.size } .networkinguce { x, y -> x + y } } fun edgeSet() […]

¿Cómo usar la inheritance simple para la class de datos?

En Java, abstract class NumericValue{ private String a; private String b; public String getA() { return a; } public void setA(String a) { this.a = a; } public String getB() { return b; } public void setB(String b) { this.b = b; } @Override public boolean equals(Object o) { if (this == o) return true; […]

Forma rápida de inicializar la class Kotlin secundaria con las properties de instancia de la class principal

Yo uso la biblioteca Java que define una class de model JSON llamada A Esta class contiene muchas properties, por ejemplo, 26 properties de String nombradas de z y no tiene un constructor para ellas. Me gustaría extender esta class en Kotlin con una nueva propiedad JSON, lateinit var aa: String (la class derivada será […]

¿Cuál es el lugar en la jerarquía de types de types anulables?

Puede henetworkingar el tipo A del tipo B , pero cada vez que defina tipo A obtendrá el tipo A? (Nullable en) de forma gratuita. Pero, ¿dónde se encuentra exactamente en la jerarquía de types? A? henetworkinga de A o de otra manera? Pregunto esto porque estoy desconcertado con ese código: open class Foo { […]

datos e incompatibilidad abierta, ¿qué alternativa tengo?

Estoy haciendo un puerto kotlin de gli y me atasqué ahora En realidad tengo lo siguiente open class Texture extendido por varias classs como Texture2d Ahora, Texture tiene bastantes properties protected val storage: StorageLinear? protected val target: Target protected val format: Format protected val baseLayer: Int protected val maxLayer: Int protected val baseFace: Int protected […]

Inicializar el campo de class abstracta en el constructor del niño

Tengo class abstracta A con algún campo public abstract class A { var name: String = "Empty name" } y quieres henetworkingarlo public class B(name: String) : A() { init { this.name = name } } ¿Hay alguna manera de no crear un bloque init e iniciar una línea de name como class B(::name: String) […]

Parámetros de Clase abstracta vs. Lambda

Como kotlin tiene un soporte tan bueno para lambdas, comencé a usar lambdas como parameters de constructor para classs abstract lugar de declarar abstract val/fun . Es más conciso en mi opinión, especialmente porque se infiere el tipo de val get. ¿Cuáles son las desventajas de esto? abstract class AbstractListScreen<T> ( val data: Set<T>, val […]