Está en la página 1de 16

Curso básico del lenguaje de

programación JAVA

Ing. Félida A. Roa


Septiembre, 2005 1/26
Módulo 2

Características de las clases

2/26
Características de las clases

Clases
Por convención los nombres de las clases deben
ser escritas con la primera letra en mayúscula

Sintaxis básica de una clase en Java

<modificador> class Nombre_Clase {

[<Declaración de atributos>]

[<Declaración de constructores>]

[<Declaración de métodos>]
}
3/26
Características de las clases

Clases
Atributos

Los atributos de una clase deben ser


inicializados. Las variables locales de un método
no necesariamente.

Los atributos cuando se declaran privados


aseguran su validación a través de los métodos,
ademas de cumplir con la característica del
ocultamiento de la información
4/26
Características de las clases

Clases
Constructores
Un constructor es el método que se llama cuando se
crea una instancia nueva. Se suele utilizar para
inicializar los atributos de la clase con valores
específicos.
El constructor de la clase no tiene nunca valor de
retorno.

Rectangulo prueba = new Rectangulo();

Puede notarse que, al crear el objeto se coloca a la


derecha de new una llamada al constructor. 5/26
Características de las clases

Clases
Constructores
Sintaxis básica de la declaración de un constructor de
una clase

< modifier> <class_name> ([< argument_list>]) {


[< statements>]
}
//Definición de una clase llamada Rectángulo
public class Rectangulo{
//Constructor de la clase
public Rectangulo(){ }
}
6/26
Características de las clases

Clases
Constructores

El Constructor por defecto de una clase


Hay un constructor como mínimo en cada clase
Si no se especifica ningún constructor, el
constructor por defecto aparece
automáticamente
El constructor por defecto no tiene argumentos y
no tiene implementación.

7/26
Características de las clases

Clases
Constructores
class Rectangulo { //Definición de la clase Rectángulo

//Definición de un constructor de la clase


Rectangulo(float X1, float Y1, float X2, float Y2) {
x1 = X1;
x2 = X2;
y1 = Y1;
y2 = Y2; }

//Definición del constructor por defecto


Rectangulo() {
}
}
8/26
Características de las clases

class Empleado { //Definición de la clase Empleado


String nombre=“”;
float sueldoBase;
//Definición del constructor de la clase
Empleado() {
sueldoBase = 294000.0F;
}

void mostrarEmpleado() {
System.out.println(“nombre: ” + nombre);
System.out.println(“Sueldo Base: ” + sueldoBase);
}

public static void main(String[] args) {


Empleado secretaria = new Empleado();
secretaria.nombre=“Pedro”;
secretaria.mostrarEmpleado(); }
}
9/26
Características de las clases

class Rectangulo {//Definición de la clase Rectángulo


//Definición de cuatro variables de tipo float
float x1,y1,x2,y2;
//Definición del constructor de la clase
Rectangulo(float X1, float Y1, float X2, float Y2) {
x1 = X1;
x2 = X2;
y1 = Y1;
y2 = Y2; }
//Definición de un método de la clase
float calcularArea() {
return (x2- x1) * (y2- y1);
}
//Definición del método main
public static void main(String[] args) {
Rectangulo prueba = new Rectangulo(1,4,7,6);
System.out.println(prueba.calcularArea());
}
} 10/26
Características de las clases

Construcción e inicialización de objetos

Cuando se llama a new Xxx() para alojar espacio para un


nuevo objeto ocurre lo siguiente:
Localización de memoria: Se aloja espacio de memoria
para el objeto y las variables instanciadas son
inicializadas con valores por defecto (por ejemplo 0,
false, y así sucesivamente)
Se ejecuta un constructor
Inicializa atributos explícitos
Se asigna a una variable la referencia del objeto
Ejemplo:
MyDate my_birth = new MyDate(22, 7, 1964); 11/26
Características de las clases

La sentencia package
Sintaxis básica de la sentencia package:
package < top_pkg_name>[.< sub_pkg_name>]*;

Especifique la declaración del paquete al comienzo


del archivo fuente
Solo una declaración de paquete por archivo
fuente.
Si no se especifica ningún paquete la clase
pertenece al paquete por defecto.
Los nombres de los paquetes deben ser
jerarquizados y separados por punto. 12/26
Características de las clases

La sentencia import

Sintaxis básica de la sentencia import:


import < pkg_name>[.< sub_pkg_name>].< class_name>;

OR

import < pkg_name>[.< sub_pkg_name>].*;

Precede todas las declaraciones de las clases


Le indica al compilador donde encontrar las clases

13/26
Características de las clases

La referencia this
Usos de la palabra clave this:

Referenciar un atributo local dentro de un


método local o constructor.
El this distingue una variable local de un método
o constructor de una variable de instancia.
Pasar el objeto local como parámetro a otro
método o constructor

14/26
Características de las clases

La referencia this
public class MyDate {
private int day = 1;
private int month = 1;
private int year = 2000;
public MyDate(int day, int month, int year) {
this.day = day;
this.month = month;
this.year = year;
}
public MyDate(MyDate date) {
this.day = date.day;
this.month = date.month;
this.year = date.year; }
} 15/26
Características de las clases

La referencia this
public class MyDate {
private int day = 1;
private int month = 1;
private int year = 2000;

public MyDate addDays(int more_days) {


MyDate new_date = new MyDate(this);
new_date.day = new_date.day + more_days;
return new_date; }
}

public class TestMyDate {


public static void main(String[] args) {
MyDate my_birth = new MyDate(22, 7, 1964);
MyDate the_next_week = my_birth.addDays(7); }
} 16/26

También podría gustarte