Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

239
Vistas
Cómo obtener valor de la función de otra clase en Kotlin

Me gusta

 class A { public var tip : String = "" } class B { val tip2 = A().tip println(tip2) } class C { tiper("abc") tiper("def") tiper("ghi") fun tiper(txt) { A().tip = txt B.showTip() } }

Para ser breve, tengo una clase B, que genera un 'consejo'. Existe la clase C, que crea el texto para el 'consejo'. Y necesito enviar un valor de la clase C a la clase B. Intenté hacerlo a través de la clase A, envié el valor allí y luego lo leí en la clase B para mostrarlo. Pero en este caso solo muestra el valor "", es decir, por defecto de la clase A. ¿Por qué no se toma el valor pasado por la clase C?

El código anterior está muy simplificado y es una descripción hipotética de lo que realmente tengo en mi código. Este es solo un ejemplo abstracto.

Soy un terrible programador de Kotlin, me acaban de pedir que haga este trabajo, así que no sé mucho al respecto, espero su ayuda.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Estás creando un nuevo objeto del tipo A cada vez que llamas al constructor A() .

Por lo tanto, dentro de tiper , está creando un objeto de tipo A y configurando el valor de tip en esa instancia de objeto.

Luego, sin embargo, crea un objeto de tipo B que crea un nuevo objeto de tipo A internamente. Esto no tiene ningún vínculo con el primer objeto de tipo A que ha creado. Por lo tanto, no contiene el valor que desea establecer, sino el valor predeterminado que ha establecido, que es la cadena vacía "" .


Manteniéndose cerca de nuestro ejemplo, puede ajustar el valor en el objeto de tipo A que está incrustado en el objeto de tipo B

 class A { var tip: String = "" } class B() { val tipHolder = A() fun showTip() { println(tipHolder.tip) } } fun tiper(txt: String) { val tipPrinter = B() tipPrinter.tipHolder.tip = txt tipPrinter.showTip() } fun main() { tiper("abc") tiper("def") tiper("ghi") }

Sin embargo, sin más detalles sobre el problema real, es difícil ayudarlo con el problema subyacente que está tratando de resolver, como lo escribió @aSemy en la sección de comentarios.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda