Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC.
Forma básica de una clase en Java
Especifica que la clase forma parte del paquete conceptos import permite reusar clases de otros paquetes. Forma Básica Clase Java Sección de atributos visibles en toda la clase Sección de métodos Programación Orientada a Objetos 3
Paquetes Los paquetes son una forma de organizar grupos de clases. Un paquete contiene un conjunto de clases relacionadas por finalidad ó funcionalidad. Los paquetes resuelven el problema del conflicto entre los nombres de las clases. Al crecer el número de clases crece la probabilidad de designar con el mismo nombre a dos clases diferentes. La siguiente declaración indica que la clase va a pertenecer a un paquete llamado ventas Programación Orientada a Objetos 4
Importar clases La palabra reservada import permite utilizar clases de otro paquete Lo anterior no implica copiar el código de la clase importada a la clase importadora En los lenguajes POO se debe informar la ubicación de los paquetes que se quieren importar: classpath Programación Orientada a Objetos 5
Clase Pública El archivo en el disco se debe llamar Orden.java Puede ser utilizada por cualquier otra clase (mediante el import) Programación Orientada a Objetos 6
Clase no pública Si no aparece ningun modificador de visibilidad, la clase sólo es visible para clases del mismo paquete (visibilidad package) Programación Orientada a Objetos 7
Forma básica de los atributos en Java Programación Orientada a Objetos 8
Forma Básica de Atributos Comentario del atributo para ser usado con javadoc Visibilidad private public protected package Tipo String int double float boolean Nombre dado a la variable Programación Orientada a Objetos 9
Modificadores de visibilidad para atributos Ejemplo : protected String nombre; Jerarquía de visibilidad de modificadores de atributos: public : atributo visible para cualquier clase (puede accederse directamente sin necesidad de método) protected :atributo visible para : subclases clases del mismo paquete package : modificador por defecto atributo visible para clases del mismo paquete private : atributo no visible para las demás clases Programación Orientada a Objetos 10 10
Propiedades this this: Es una referencia al objeto (instancia de la clase) actual. Programación Orientada a Objetos 11
Forma básica de los métodos en Java Programación Orientada a Objetos 12
Tipos de Métodos Existen varias clases especiales de métodos: Constructores: método para crear un nuevo objeto de la clase. Destructores: método para eliminar un objeto de una clase (no hay en Java) Modificadores: métodos para asignar el valor de un atributo Analizadores: métodos para recuperar el valor de un atributo. Programación Orientada a Objetos 13
Modificador de Visibilidad private public protected package Forma Básica Métodos Tipo de retorno void (no retorna valor) String int double Nombre del método Lista de parámetros Cuerpo del método, incluido variables locales y un return al final si retorna un valor ó sin return si el retorno es void Programación Orientada a Objetos 14
Modificadores de visibilidad para métodos Ejemplo : public String getnombre(); Jerarquía de visibilidad de modificadores de métodos: public : método visible para cualquier clase protected :método visible para : subclases clases del mismo paquete package : modificador por defecto método visible para clases del mismo paquete private :método no visible para las demás clases Programación Orientada a Objetos 15 Tema 3 Java - CincoSOFT 15
Métodos Analizadores(accesors) Por cada atributo de la clase existe un método get que retorna el valor de dicho atributo Programación Orientada a Objetos 16
Métodos Modificadores(mutators) Por cada atributo de la clase existe un método set que asigna un valor a dicho atributo Programación Orientada a Objetos 17
Encapsulamiento de Atributos Observe que el atributo TotalDinero es privado Para acceder al atributo se hace a través de los métodos getxxx y setxxx Programación Orientada a Objetos 18
Método Constructor(1) Un constructor es un método especial que es ejecutado cuando una nueva instancia de una clase es creada Modificador de Visibilidad Nombre de la clase Lista de parámetros Cuerpo del constructor, inicializando los atributos de la clase Programación Orientada a Objetos 19
Método Constructor(2) Permiten inicializar los atributos de los objetos. Un objeto puede tener uno o más constructores. Todos los constructores tienen el mismo nombre de la clase y se distinguen por la lista de parámetros. Programación Orientada a Objetos 20
Método Constructor(3) En caso de no especificar ningún constructor, java provee uno vacío y sin parámetros. Programación Orientada a Objetos 21
Ciclo de vida de los objetos en Java Programación Orientada a Objetos 22
Declarando Objetos Los objetos se declaran de igual manera como se declara cualquier otra variable. Clase Nombre del objeto mipc Programación Orientada a Objetos 23
Creando objetos (2) 1. Se declara una instancia (objeto) 2. Se usa la palabra reservada new para crear el objeto (instancia) 3. Se invoca un constructor de la clase, pasando los argumentos necesarios Sistema.java 1.Declarar el objeto 2. Creación del objeto (new) 3. Invocación del constructor: observe los argumentos pasados al constructor Programación Orientada a Objetos 24 de la clase PC
Creando objetos (3) Los argumentos son asignados a los parámetros antes de ejecutar un método Sistema.java parametros PC.java Programación Orientada a Objetos 25
Creando objetos(4) Construcción de objetos e invocación de métodos modificadores Bicycle bike1, bike2; bike1 = new Bicycle( ); bike1.setownername("adam Smith"); bike2 = new Bicycle( ); bike2.setownername("ben Jones"); Programación Orientada a Objetos 26
Asignando Objetos a variables 2 objetos instanciados, una sola variable Customer customer; customer = new Customer( ); customer customer = new Customer( ); Programación Orientada a Objetos 27
Dos referencias a un solo objeto 1 solo objeto instanciado, 2 variables Customer clemens, twain, clemens = new Customer( ); clemens twain twain = clemens; Customer Programación Orientada a Objetos 28
Ejemplo de Visibilidad Service obj = new Service(); obj.memberone = 10; obj.membertwo = 20; obj.doone(); obj.dotwo(); class Service { public int memberone; private int membertwo; } public void doone() { } private void dotwo() { } Client Service Programación Orientada a Objetos 29
Creando una clase de prueba Por lo general existe una clase Cliente ó clase que usa otra clase, desde allí se crea el objeto, en este ejemplo es la clase Sistema Sistema.java PC.java Sistema.java Programación Orientada a Objetos 30
Invocando un método Sistema.java PC.java Se usa la notación punto: objeto.metodo(argumentos) Programación Orientada a Objetos 31
Objetos Destrucción- Java cuenta con un recolector automático de objetos no utilizados, recolector de basura (garbage collector) durante la ejecución del programa recorre periódicamente la memoria buscando y eliminando los objetos sin ninguna referencia válida. Programación Orientada a Objetos 32
Bibliografía UML y patrones una introducción al análisis y diseño orientado a objetos y al proceso unificado. Larman, Craig Paul Deitel. Como programar en Java 7/e. Pearson Education. 2007. Programación Orientada a Objetos 33