NETBEANS JAVA PROGRAMACIÓN ORIENTADA A OBJETOS Como se vio en teoría, la definición de una clase consta de dos partes fundamentales: 1 - La declaración de la clase: Indica el nombre de la clase precedido por la palabra clave class. 2 - El cuerpo de la clase: El cuerpo de la clase sigue a la declaración de la clase y está contenido entre la pareja de llaves { y }. El cuerpo de la clase contiene las declaraciones de los atributos (también llamados variables) de la clase, y también la declaración y la implementación de los métodos que operan sobre dichas atributos. Declaración de Atributos también conocidos como "variables de instancia": El estado de un objeto está representado por sus atributos (variables de instancia). Las variables de instancia se declaran dentro del cuerpo de la clase. Estas se declaran antes de la declaración de los métodos, pero esto no es necesariamente requerido. Implementación de métodos: Los métodos de una clase determinan los mensajes que un objeto puede recibir. Las partes fundamentales de un método son el valor de retorno, el nombre, los argumentos (opcionales) y su cuerpo. Los métodos en Java pueden ser creados únicamente como parte de una clase. Cuando se llama a un método de un objeto se dice comúnmente que se envía un mensaje al objeto. Los objetos no solamente se caracterizan por como son sino también por las cosas que hacen o pueden llegar a hacer. Una clase, es una plantilla en la que se basan los objetos; entonces, es la combinación de datos y funciones (acciones). En conclusión y tal como se observo en teoría, las clases consisten en: Atributos (datos que contienen: campos ) Métodos (operaciones que se pueden realizar) Un programa está compuesto por un conjunto de clases (al menos una) Debe existir un método main() en una de ellas Página 1
Veamos a continuación la estructura de 3 clases. Definición de una clase en java: Página 2
Ejemplo de una clase: UNIVERSIDAD CATÓLICA DE SANTIAGO DEL ESTERO /** Clase de ejemplo: cuenta bancaria */ /** Clase de ejemplo: Alumnos */ Página 3
Las clases anteriores no pueden ejecutarse por sí mismas ya que Son sólo definiciones que permiten crear y manipular objetos de esa clase. Los constructores: Para explicar los constructores consideremos la siguiente Clase: CLASE INSTRUMENTOS CODIGO: Numérico Entero (positivo). NOMBRE: Alfanumérico de 40 caracteres no vacío. PAIS_ORIGEN: Alfanumérico de 80 caracteres no vacío. public class Instrumento{ //Atributos int codigo; // Código de INSTRUMENTOS String nombre; //Nombre de un INSTRUMENTO String descripcion; //BREVE DESCRIPCION DEL INTRUMENTAL String pais_origen; //PAIS de fabricación //Constructor: Método que al instanciar o crear un objeto a partir de esta clase se ejecutará el código que incluyamos en él public Instrumento (int cod, string nom, string des) { codigo = cod; nombre = nom; pais_origen = des; } //Cierre del constructor El constructor de una clase es un método especial a través del cual podemos crear los objetos de la clase. Toda clase tiene (al menos) un constructor. Podemos programarlo explícitamente o bien aceptar el constructor por defecto que Java definirá por nosotros en caso de que no lo hayamos programado. El constructor se utiliza para crear los objetos de las clases. // creamos un objeto a traves del constructor. Intrumento INST_15= new Instrumento (456, "PIRANOMETRO", "INSTRUMENTAL PARA MEDIR ENERGIA SOLAR", "ALEMANIA"); En esta línea de código, definimos y creamos el objeto INST_15 utilizando el constructor Instrumento(456, "PIRANOMETRO", "INSTRUMENTAL PARA MEDIR ENERGIA SOLAR", "ALEMANIA");. El operador new recibe como argumento al constructor de la clase. Es decir: el constructor de una clase es un método que se llama exactamente igual que la clase y que solo puede invocarse luego del operador new al crear objetos de la clase. Al invocar Instrumento(), Llamado constructor nulo o por defecto que Java define automáticamente HERENCIA Permite definir nuevas clases en función de otras clases ya existentes. Diremos que la clase derivada o la subclase hereda los métodos y atributos de la clase base. Para ver este ejemplo iniciamos un nuevo proyecto, como ejemplo lo llamaremos ejemplo_herencia, es decir que inicialmente el proyecto se muestra en la siguiente figura: Página 4
Esta es la rutina principal que ejecuta el compilador; para realizar el ejemplo de Herencia vamos a necesitar crear 2 clases adicionales: a) La clase persona: Que para crearla e incluirla en el proyecto, se siguen los siguientes pasos: Página 5
Y escribimos el siguiente código: Realizamos la misma secuencia para crear otra clase, la clase Profesional, teniendo en cuenta que es una subclase de Persona con ciertas peculiaridades. Los objetos de la subclase van a tener campos nombre, apellidos y edad (heredados de Persona) y un campo específico Titulo. El constructor de una subclase ha de llevar obligatoriamente como parámetros al menos los mismos parámetros que el constructor de la superclase o clase padre. c) El constructor de la subclase Profesional invoca al constructor de la superclase Persona. Para ello se incluye, obligatoriamente, la palabra clave super como primera línea del constructor de la subclase. La palabra super irá seguida de paréntesis dentro de los cuales pondremos los parámetros que requiera el constructor de la superclase al que queramos invocar. En este caso solo teníamos un constructor de superclase que requería tres parámetros. Página 6
En la Clase principal: UNIVERSIDAD CATÓLICA DE SANTIAGO DEL ESTERO Página 7
NETBEANS JAVA EJERCICIOS PRACTICOS ADICIONALES TRABAJO PRÁCTICO N 4 1) Dada dos clases A y B, definir un método que muestre por pantalla donde se pueda apreciar que la clase B herede ese método de la Clase A. Ej. Que muestre un mensaje por pantalla que diga nos encontramos en A. 2) Definir la Clase Estudiante y que herede ciertos atributos y métodos de la Clase persona. 3) Definir atributos para la clase empleado y la clase ejecutivo. De forma tal que la clase ejecutivo hereda de la clase empleado. 4) Simular el comportamiento que tendrían los diferentes integrantes de la selección argentina; tanto los futbolistas como el cuerpo técnico (Entrenadores, Masajistas, Etc.). según el siguiente diagrama de clases. a. Determinar los atributos y métodos que tienen en común. b. Determinar la super clase o clase padre c. Aplicar herencia. d. Añadir una nueva clase por ej. medico, jefe de prensa etc. Que pertenezca al cuerpo técnico. 5) La empresa informática IPM TECH necesita llevar un registro de todos sus empleados que se encuentran en la oficina central, para eso ha creado un diagrama de clases que debe incluir lo siguiente: Página 8
a. Clase Empleado: Atributos: - nombre: tipo cadena (Debe ser nombre y apellido) - DNI: tipo entero - edad: entero (Rango entre 18 y 45 años) - casado: boolean - salario: tipo numérico doble Métodos: - Constructor con y sin parámetros de entrada - Método que permita mostrar la clasificación según la edad de acuerdo al siguiente algoritmo: Si edad es menor o igual a 21, Principiante Si edad es >=22 y <=35, Intermedio Si edad es >35, Senior.- - Imprimir los datos del empleado por pantalla (utilizar salto de línea \n para separar los atributos. - Un método que permita aumentar el salario en un porcentaje que sería pasado como parámetro al método. b. Clase Programador: Clase que hereda de Empleado todos los atributos y métodos. Atributos: Métodos: - lineasdecodigoporhora: tipo entero - lenguajedominante: tipo cadena - Constructor con y sin parámetros de entrada. Página 9