Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

238
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!