En el artículo "De Hello World a orientado a objetos" del Tutorial básico de Java, tenemos una comprensión preliminar de los objetos. Los miembros de datos de un objeto representan el estado del objeto. Los objetos pueden realizar métodos que representan acciones específicas.
Además, también aprendimos sobre las clases. Los objetos de la misma clase pertenecen al mismo tipo. Podemos definir clases y usar esa definición para crear objetos.
Profundicemos en los objetos. Conozca algunos detalles sobre métodos y miembros de datos en Java.
Llamar a miembros de datos del mismo objeto.
Los métodos pueden llamar a los miembros de datos del objeto. Por ejemplo, a continuación agregamos un método getHeight() a la clase Human. Este método devuelve el valor del miembro de datos de altura:
Copie el código de código de la siguiente manera:
prueba de clase pública
{
principal vacío estático público (String [] argumentos)
{
Humano aPersona = nuevo Humano();
System.out.println(aPerson.getHeight());
}
}
claseHumano
{/**
*accesor
*/
int obtener altura()
{
devolver esta altura;
}
altura interna;
}
Hemos agregado el método getHeight. Este método tiene un valor de retorno de tipo int. La devolución se utiliza en Java para devolver un valor.
Tenga en cuenta esto, que se utiliza para referirse al objeto en sí. Cuando creamos una instancia de aPerson, esto representa el objeto aPerson. this.height se refiere a la altura de una persona.
Este es un argumento implícito. Cuando se llama a un método, aunque la lista de parámetros del método no lo incluya, Java pasará "silenciosamente" este parámetro al método.
(Existen algunos métodos especiales que no pasan esto implícitamente, lo veremos más adelante)
esto no es necesario, el método anterior se puede escribir como:
Copie el código de código de la siguiente manera:
/**
*accesor
*/
int obtener altura()
{
altura de retorno;
}
Java determinará por sí mismo que la altura es un miembro de datos de la clase. Pero quedará más claro usando esto.
También vimos el método /** comments */ para agregar comentarios.
lista de parámetros del método
Las definiciones de métodos en Java son similares a las funciones en lenguaje C. Los métodos Java también pueden recibir una lista de argumentos (lista de argumentos) entre paréntesis después del nombre del método. A continuación definimos un método growHeight(). La función de este método es aumentar la altura de una persona:
Copie el código de código de la siguiente manera:
prueba de clase pública
{
principal vacío estático público (String [] argumentos)
{
Humano aPersona = nuevo Humano();
System.out.println(aPerson.getHeight());
unaPersona.growHeight(10);
System.out.println(aPerson.getHeight());
}
}
claseHumano
{
/**
*accesor
*/
int obtener altura()
{
devolver esta altura;
}
/**
* pasar argumento
*/
Altura de crecimiento vacía (int h)
{
esta.altura = esta.altura + h;
}
altura interna;
}
En growHeight(), h es el parámetro pasado. En la definición de clase, se indica el tipo de parámetro (int). Dentro de un método específico, podemos usar este parámetro. Este parámetro solo es válido dentro del alcance de este método, es decir, growHeight().
Al llamar, pasamos 10 a growHeight(). aLa altura de la persona aumenta en 10.
Llamar a otros métodos en el mismo objeto.
Dentro de un método se pueden llamar otros métodos del mismo objeto. Al llamar, utilice la forma this.method(). Recordamos también que esto se refiere al objeto. Entonces this.method() se refiere al método método() del objeto en sí.
Por ejemplo, la siguiente función repetirBreath():
Copie el código de código de la siguiente manera:
prueba de clase pública
{
principal vacío estático público (String [] argumentos)
{
Humano aPersona = nuevo Humano();
unaPersona.repeatBreath(10);
}
}
claseHumano
{
aliento vacío()
{
System.out.println("hu...hu...");
}
/**
* llamar a la respiración()
*/
void repetirRespiración(int rep)
{
ent yo;
para(i = 0; i < rep; i++) {
este.respiración();
}
}
altura interna;
}
Para facilitar el bucle, en el método repetirBreath(), declaramos un objeto i de tipo int. El alcance de i está limitado al alcance del método repetirBreath().
(Esto es similar a las variables automáticas en las funciones del lenguaje C)
Inicialización de miembros de datos
En Java, existen muchas formas de inicializar miembros de datos. Por ejemplo, en el ejemplo anterior de getHeight(), aunque nunca proporcionamos un valor para la altura, Java elige un valor inicial predeterminado de 0 para nosotros.
Valores iniciales predeterminados para miembros de datos de tipos básicos:
1. Tipo numérico: 0
2.Valor booleano: falso
3. Otros tipos: nulo
Podemos proporcionar el valor inicial del miembro de datos mientras lo declaramos. Esto se llama inicialización explícita. El valor de inicialización de la pantalla debe escribirse firmemente en el programa:
Copie el código de código de la siguiente manera:
prueba de clase pública
{
principal vacío estático público (String [] argumentos)
{
Humano aPersona = nuevo Humano();
System.out.println(aPerson.getHeight());
}
}
claseHumano
{/**
*accesor
*/
int obtener altura()
{
devolver esta altura;
}
altura interna = 175;
}
Aquí, el valor inicial de la altura del miembro de datos es 175, no el 0 predeterminado.
Hay otras formas de inicializar objetos en Java, que presentaré más adelante.
Resumir
devolver
esto, este.campo, este.método()
Valor inicial predeterminado, inicialización explícita