Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

234
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda