Вы находитесь на странице: 1из 16

Programación Orientada a Objetos

Conceptos Básicos de Objetos


Ing
Ing.. Julio Ernesto Carreño Vargas
MsC..
MsC

Conceptos Básicos
 Las aproximaciones ADOO y POO, proveen a los
objetos como el principal medio para estructurar un
sistema
 El mundo del problema se ve como objetos que
interactúan.
 Modelar consiste en :
 identificar qué objetos hay en el mundo del problema,
 cómo son,
 cómo se comportan y
 cómo se relacionan.

Programación Orientada a Objetos 2

1
Objeto(1)
 Un objeto representa una entidad física, conceptual ó
de software.
 Es una manifestación concreta de una abstracción con
un límite bien definido y una identidad que encapsula
estado y comportamiento.
 Un objeto puede :
 modelar entidades del mundo real,
 capturar abstracciones de fenómenos complejos,
 representar artefactos de software (pilas, gráficos, …).

Programación Orientada a Objetos 3

Objeto(2)
 Ejemplos:Estudiante, Profesor, Fecha,
Automóvil, Libro, Figura.
 El objeto tiene como propósito promover la
comprensión del mundo real, y es la base de la
implementación.

Programación Orientada a Objetos 4

2
Comportamiento de los Objetos
 El comportamiento de los objetos puede ser
descrito por una caracterización abstracta de su
interfaz (servicios que presta).
 Por ejemplo los servicios del cajero:

Programación Orientada a Objetos 5

Clase
 Describe un conjunto de objetos del mundo del
problema, que tienen :
 las mismas características (atributos, propiedades)
 y el mismo comportamiento (operaciones, métodos).

 Estructura de software que especifica


determinado tipo de objeto.
 Es una abstracción que enfatiza características
relevantes de un concepto del mundo real.
 Las clases representan nuevos tipos de datos
Programación Orientada a Objetos 6

3
Representación Gráfica de una Clase

Programación Orientada a Objetos 7

Atributo
 Propiedad del objeto
 Determinan el estado del objeto
 Son los datos que contiene y encapsula una
clase(ocultas al exterior) y se acceden por medio de
algún método
 Es un valor de un dato que está almacenado en los
objetos de una clase
 Los atributos son llamados variables de instancia
 podrían verse como una variable global a toda la clase.
Programación Orientada a Objetos 8

4
Método(1)
 Una operación que se podrá realizar sobre un
objeto
 Definen el comportamiento de la clase
 Servicios que ofrece la clase
 Permiten cambiar el estado del objeto, esto es,
operan sobre los atributos.

Programación Orientada a Objetos 9

Método(2)
 Los atributos son visibles en toda la clase
 En cualquier método se puede hacer referencia a las
variables de instancia
 Los métodos pueden tener variables locales
 son visibles sólo dentro del método.

Programación Orientada a Objetos 10

5
Clases y Objetos(1)
 Un objeto es una instancia de una clase con
valores concretos en sus atributos.
 Los objetos son agrupados en clases.
 Una clase es una definición abstracta de un
objeto
 Una clase es una plantilla para crear objetos

Programación Orientada a Objetos 11

Clases y Objetos(2)
 La noción de Clase viene de clasificación: esto
es, agrupar (en un conjunto) objetos (elementos)
que se comportan de la misma manera.
 Todos los objetos de una clase tienen la misma
estructura (los mismos atributos), lo que varía
son los valores de dichos atributos

Programación Orientada a Objetos 12

6
Clases y Objetos(3)
Cuenta
3 objetos de la clase Cuenta
Clase Cuenta saldo Observe que todos tienen un saldo,
pero cada objeto con un valor diferente

objCuenta1 : Cuenta objCuenta2 : Cuenta objCuenta3 : Cuenta

saldo saldo saldo


500 9000 15000

Programación Orientada a Objetos 13

Visibilidad Atributos, Métodos


 Hay tres tipos de visibilidades:
 private (Privada): Indica que el atributo o el método
no puede ser visto y utilizado por objetos de clases
diferentes a la actual.
 public (Pública): Indica que el atributo o el método
puede ser visto y utilizado por objetos de clases
diferentes a la actual.
 protected (Protegida): Esta visibilidad hace
referencia a estructuras con herencia, sólo es visible
por ella misma y por sus subclases
Programación Orientada a Objetos 14

7
Visibilidad

- Privado
+ Publico
# Protegido

Programación Orientada a Objetos 15

Ejemplo de Visibilidad
… class Service {
public int memberOne;
Service obj = new Service();
private int memberTwo;

obj.memberOne = 10; public void doOne() {



obj.memberTwo = 20; }
private void doTwo() {
obj.doOne(); …
}
obj.doTwo();
}

Client Service
Programación Orientada a Objetos 16

8
Visibilidad Clases
 Las visibilidad pueden ser aplicada también a la
clase
 Existe otra visibilidad que se aplica a paquetes
 Un paquete es una colección de clases
 Cuando se marca una clase con visibilidad de
paquete, se indica, que dicha clase puede ser vista
y/o utilizada por las clases del mismo paquete.

Programación Orientada a Objetos 17

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 18

9
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 19

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

 La anterior definición es equivalente a:

 En los lenguajes POO se debe informar la


ubicación de los paquetes que se quieren importar:
classpath
Programación Orientada a Objetos 20

10
Clase Pública

El archivo en el disco se debe llamar “Orden.java”

Programación Orientada a Objetos 21

Clase Privada
Si no aparece
ningun
modificador de
visibilidad, la
clase sólo es
visible en el
directorio.

Programación Orientada a Objetos 22

11
Forma Básica de Atributos
Comentario del atributo para ser usado con javadoc

Visibilidad Tipo Nombre dado a


•private •String la variable
•public •int
•protected •double
•paquete •float
•boolean
•…
Programación Orientada a Objetos 23

Propiedades this

this:

Es una referencia al objeto


(instancia de la clase) actual.

Programación Orientada a Objetos 24

12
Modificador Forma Básica Métodos
de
Tipo de retorno
Visibilidad
•void (no retorna valor)
•private
•String
•public
•int
•protected
•double…
•paquete 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 25

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.
 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 26

13
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 27

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 28

14
Encapsulamiento de Atributos
 Los objetos no deberían conocer detalles de
implementación de otros objetos.
 Por ejemplo, un objeto, no debería modificar el
valor de un atributo de otro objeto.
 Al definir la visibilidad de los atributos, esta
debe ser lo más restrictiva posible, esto es,
private. Los métodos modificadores y
analizadores son los únicos que pueden cambiar
ó retornar el valor de un atributo.
Programación Orientada a Objetos 29

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 30

15
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 31

16

Вам также может понравиться