Programación Orientada a Objetos Conceptos Básicos de Objetos

Anuncio
Programación Orientada a Objetos
Conceptos Básicos de Objetos en
Java
Ing
Ing.. Julio Ernesto Carreño Vargas MsC.
MsC.
Forma básica de una
clase en Java
Forma Básica Clase Java
Especifica que la clase forma
parte del paquete “conceptos”
import permite “reusar”
clases de otros paquetes.
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
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.
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
•…
Programación Orientada a Objetos
Nombre dado a
la variable
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)
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
Tema
15
3 Java - CincoSOFT
15
Métodos Analizadores(accesors
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
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:
Programación Orientada a Objetos
observe los argumentos
pasados al constructor
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
customer = new Customer( );
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;
Programación Orientada a Objetos
Customer
28
Ejemplo de Visibilidad
…
Service obj = new Service();
class Service {
public int memberOne;
private int memberTwo;
public void doOne() {
obj.memberOne = 10;
…
obj.memberTwo = 20;
}
private void doTwo() {
obj.doOne();
…
}
obj.doTwo();
}
…
Client
Programación Orientada a Objetos
Service
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ónDestrucciónJava 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
Descargar