Programación con java: la reutilización de los nombres en su aplicación para android

Hay un par de cosas que quiere pensar cuando la reutilización de nombres en su aplicación para Android. Se podría declarar dos variables de Java - bag1 y bag2 - para referirse a dos diferentes BagOfCheese objetos. Esta bien. Pero a veces, tener una sola variable y su reutilización para el segundo objeto funciona igual de bien, como se muestra aquí.

com.allmycode.a09_03- paquete

importación android.support.v7.app.AppCompatActivity-

importación android.os.Bundle-

importación android.widget.TextView-

Video: Los 5 Mejores Lenguajes de Programación Para Aprender a Programar | Vida de Programador #32

importación com.allmycode.a09_01.BagOfCheese-

MainActivity clase pública se extiende AppCompatActivity {

Vista de Texto textView-

Video: Curso Programación Android #2 | Nuestra primera Aplicación

@Anular

protected void onCreate (Bundle savedInstanceState) {

super.onCreate (savedInstanceState) -

setContentView (R.layout.activity_main) -

Textview = (TextView) findViewById (R.id.textView) -

BagOfCheese bolsa = new BagOfCheese () -

bag.kind = "queso Cheddar"-

bag.weight = 2.43-

bag.daysAged = 30-

bag.isDomestic = cierto-

textView.setText ("") -

textView.append (bag.kind + ", " + + Bag.weight ", " +

bag.daysAged + ", " + + Bag.isDomestic "norte") -

bolsa = new BagOfCheese () -

bag.kind = "Azul"-

bag.weight = 5.987-

bag.daysAged = 90-

bag.isDomestic = falsos

textView.append (bag.kind + ", " + + Bag.weight ", " +

bag.daysAged + ", " + + Bag.isDomestic "norte") -

}

}

En este código, cuando Java ejecuta el segundo bolsa = new BagOfCheese () declaración, el objeto de edad (la bolsa que contiene cheddar) ha desaparecido. Sin bolsa (o cualquier otra variable) en referencia a ese objeto cheddar, no hay manera de que su código puede hacer cualquier cosa con el objeto cheddar. Afortunadamente, en el momento en que llegue a la segunda bolsa = new BagOfCheese () declaración, que haya terminado de hacer todo lo que quiere hacer con la bolsa original de cheddar. En este caso, la reutilización de la variable de bolsa es aceptable.

Video: AIDE - IDE para Programar y Compilar en Android - Java, C++

Cuando se vuelve a utilizar una variable (como el único bolso variables anteriormente), lo hace mediante el uso de una instrucción de asignación, no una inicialización. En otras palabras, no se escribe bolsa de BagOfCheese por segunda vez en su código. Si lo hace, algún mensaje de error en el editor de Android Studio.

Para ser dolorosamente precisa, puede, de hecho, escribir bolsa de BagOfCheese más de una vez en la misma pieza de código.

Ninguno de los BagOfCheese campos de clase es final. En otras palabras, el código de la clase le permite reasignar los valores de los campos dentro de una BagOfCheese objeto. Con esta información en mente, se puede acortar el código anterior por una línea más, como se muestra aquí.

com.allmycode.a09_04- paquete

importación android.support.v7.app.AppCompatActivity-

importación android.os.Bundle-

importación android.widget.TextView-

importación com.allmycode.a09_01.BagOfCheese-

MainActivity clase pública se extiende AppCompatActivity {

Vista de Texto textView-

@Anular

protected void onCreate (Bundle savedInstanceState) {

super.onCreate (savedInstanceState) -

setContentView (R.layout.activity_main) -

Textview = (TextView) findViewById (R.id.textView) -

BagOfCheese bolsa = new BagOfCheese () -

bag.kind = "queso Cheddar"-

bag.weight = 2.43-

bag.daysAged = 30-

bag.isDomestic = cierto-

textView.setText ("") -

textView.append (bag.kind + ", " + + Bag.weight ", " +

bag.daysAged + ", " + + Bag.isDomestic "norte") -

// bolsa = new BagOfCheese () -

bag.kind = "Azul"-

bag.weight = 5.987-

bag.daysAged = 90-

bag.isDomestic = falsos

textView.append (bag.kind + ", " + + Bag.weight ", " +

bag.daysAged + ", " + + Bag.isDomestic "norte") -

}

}

Con la segunda llamada al constructor en este código como comentario, usted no hace el bolso la variable se refiere a un nuevo objeto. En su lugar, debe ahorrar mediante la asignación de nuevos valores a los campos del objeto existente.

En algunas situaciones, la reutilización de los campos de un objeto puede ser más eficiente (más rápido para ejecutar) de crear un nuevo objeto. Pero cada vez que usted tiene una opción, es una buena idea para escribir código que refleja los datos reales. Si el contenido de una bolsa real no cambia de queso cheddar al queso azul, que sería mejor no cambiar una BagOfCheese campo de tipo de objeto a partir de “queso Cheddar" a "Azul“.

Artículos Relacionados