61

📱 Objetos complementarios (Miembro estático) en Android Studio [61]

Si se necesita que una función o propiedad esté vinculada a una clase en lugar de las instancias de ella se puede declararla dentro de un objeto complementario. Para entender eso vamos a hacer los siguiente:

  • Declara un clase llamada MiClase.
  • Dentro de la clase crear dos atributos.
    • Uno llamado normal que sera de tipo String e inicializado con un texto.
    • Otro dentro complementario llamado estático que será inicializado con un texto.
  • Desde la función principal cambiaremos el valor del atributo normal y estático y cambiaremos sus valores.

Código: https://github.com/programadornovato/AndroidStudio/commit/6a3a1fc800d29ac6235e66cdcd2894cff6c1ba45

package com.programadornovato.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.programadornovato.myapplication.Matematicas.Basicas

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        var c1=MiClase()
        println("c1.normal=${c1.normal}")
        println("MiClase.estatico=${MiClase.estatico}")
        c1.normal="Modificando el atributo normal"
        MiClase.estatico="Modificando el atributo estatico"
        println("c1.normal=${c1.normal}")
        println("MiClase.estatico=${MiClase.estatico}")

    }
}
package com.programadornovato.myapplication

class MiClase {
    var normal="Inicializando el atributo normal"
    companion object{
        var estatico="Inicializando el atributo estatico"
    }
}
import javax.swing.JOptionPane

var fil=JOptionPane.showInputDialog("Humano ingresa la cantidad de filas de tu matriz").toInt()
var col=JOptionPane.showInputDialog("Humano ingresa la cantidad de columnas de tu matriz").toInt()
var matriz=Array(fil){IntArray(col)}
for (i in 0 until fil){
    for (j in 0 until col){
        matriz[i][j]=JOptionPane.showInputDialog("Matriz[${i+1}][${j+1}]").toInt()
    }
}
var sumaFil=0
for (i in 0 until fil){
    sumaFil=0
    for (j in 0 until col){
        sumaFil=sumaFil+matriz[i][j]
    }
    println("La suma de la fila ${i+1}=$sumaFil")
}
var sumaCol=0
for (j in 0 until col){
    sumaCol=0
    for (i in 0 until fil){
        sumaCol=sumaCol+matriz[i][j]
    }
    println("La suma de la columna ${j+1}=$sumaCol")
}

🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🎦 [CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu
🎦 Lista de reproducción de este curso: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT9pb9J-89j1SPtqHzU7sF
🎦 [Curso] Kotlin de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF

🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato

Anterior tutorial

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Eugenio Chaparro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a digitalocean.com que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad