SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
03-23-05
Universidad Andrés Bello
Facultad de Ingeniería
Modelamiento
de
Sistemas
Universidad Andrés Bello
•El zologico de Quillota desea contruir
una aplicación para gestionar el
fucionamiento de forma adecuda ya
que se han perdido varios animales.
•Definir las clases y sus atributos y un
esquema de herencia,
Universidad Andrés Bello
Modelamiento de Sistemas
Programación
Orientada
a Objeto
Universidad Andrés Bello
Programación Orientada a Objeto
Introducción
La programación orientada a objetos o POO (OOP según sus siglas en
inglés) es un paradigma de programación que usa los objetos en sus
interacciones, para diseñar aplicaciones y programas informáticos. Está
basado en varias técnicas, incluyendo:
• herencia,
• cohesión,
• abstracción,
• polimorfismo,
• acoplamiento y encapsulamiento.
Su uso se popularizó a principios de la década de los años 1990. En la
actualidad, existe una gran variedad de lenguajes de programación que la
soportan (JAVA, C++, PYTHON, …)
.
Universidad Andrés Bello
Programación Orientada a Objeto
El término "orientación por objeto" significa que
organizaremos el software como una colección de objetos
discretos que incorporan tanto estructuras de datos como
procedimientos.
Esto contrasta con la programación convencional, en la cual
las estructura de datos y el comportamiento están solo
aproximadamente conectados.
El desarrollo orientado por objetos es una nueva forma de
pensar acerca del software basado sobre abstracciones
que existen en el mundo real.
En este contexto, el desarrollo es referido a la primera
parte del ciclo de vida del software: análisis, diseño e
implantación.
Universidad Andrés Bello
Programación Orientada a Objeto
El elemento base de la POO son los objetos.
Los objetos son entidades que tienen un
determinado estado, comportamiento (método) e identidad:
El estado está compuesto de datos o informaciones; serán
uno o varios atributos a los que se habrán asignado unos
valores concretos (datos).
El comportamiento está definido por los métodos o
mensajes a los que sabe responder dicho objeto, es decir,
qué operaciones se pueden realizar con él.
La identidad es una propiedad de un objeto que lo diferencia
del resto; dicho con otras palabras, es su identificador
(concepto análogo al de identificador de una variable o
una constante).
Universidad Andrés Bello
Programación Orientada a Objeto
A diferencia de otros métodos, la POO da como resultado un
diseño el cual interconecta los objetos de datos (elementos
de datos) y las operaciones de procesamiento, de forma tal
que encapsula la información y el procesamiento.
Este encapsulamiento es el paradigma fundamental de la
orientación por objetos.
La POO se basa en la idea natural de un mundo lleno de
objetos y que la resolución de problemas se realiza mediante
el modelo de objetos
Universidad Andrés Bello
Programación Orientada a Objeto
Beneficios
• Facilita la creación de software de calidad
pues sus características potencian:
 La mantención
 La extensión y
 La reutilización del software generado bajo este
paradigma
Universidad Andrés Bello
Programación Orientada a Objeto
La naturaleza única de la programación orientada a
objeto se debe a su habilidad para construir
basándose en tres conceptos importantes del diseño
del software:
• Abstracción.
• Ocultamiento de la información.
• Modularidad.
Universidad Andrés Bello
Clase
La clase de estructura que abarca tantos propiedades como
comportamiento es la unidad natural de la abstracción en los
sistemas de orientación por objeto y puede ser utilizarse para
modelar tanto entidades objetos como relaciones entre los
objetos.
Los objetos que pertenecen a una clase se describen
colectivamente por la definición de una clase, esto significa que
en lugar de describir los objetos individuales la orientación por
objeto concentra en un patrón tanto el estado como el
comportamiento que es común a todos los objetos de la clase.
Componentes de la OO
Clase
Universidad Andrés Bello
Una clase se representa por una caja la cual puede tener 3
regiones.
• La primera región contiene el nombre de la clase.
• La segunda región contiene la lista de atributos, cada nombre
de atributo puede estar seguido por detalles opcionales tales
como tipo de atributo y valores por defectos.
• La tercera región contiene los nombres de las operaciones.
Cada nombre de operación puede ser seguido por detalles
opcionales tales como listas de argumentos y tipos de
resultados. Los atributos y operaciones puede o no
mostrarse; esto depende del nivel de detalle deseado.
Componentes de la OO
Clase
Universidad Andrés Bello
Representación de la clase
Nombre de la clase
Nombre_atributo1: tipo dato1= valor defecto1
Nombre_atributo2: tipo dato2= valor defecto2
.
.
.
Nombre_operación1(lista de argumento):tipo_resultado1
Nombre_operación2 (lista de argumento):tipo_resultado2
.
.
.
Atributos.
Representan las
características
propias del objeto
Métodos.
Representan las
operaciones que
puede realizar el
objeto
Componentes de la OO
Clase
Universidad Andrés Bello
Un objeto es una entidad física o abstracta que tiene
un comportamiento antes ciertos estímulos, tanto
externos como de otros objetos específicos que se
encuentran dentro del sistema.
Ejemplo de objeto:
• Persona
• Equipo Hardware
• Materiales
• Información
• Software
• Procesos
• Procedimientos
Componentes de la OO
Objeto
Universidad Andrés Bello
• Es una Instancia es una ocurrencia de la clase,
o sea una instancia de una clase.
• Entidad provista de un conjunto de propiedades
o atributos (datos) y de comportamiento o
funcionalidad (métodos), los mismos que
consecuentemente reaccionan a eventos.
• Se corresponden con los objetos reales del
mundo que nos rodea, o con objetos internos
del sistema (del programa).
Componentes de la OO
Objeto
Universidad Andrés Bello
Cada objeto tiene su propia identidad que lo distingue
de los demás objetos. En otras palabras, dos objetos
distintos no son iguales aunque todos los valores de
sus atributos sean idénticos.
Cuando un objeto se transforma en una realización de
software, consta de una interfaz, una estructura de
datos privada y unos procesos llamados operaciones o
métodos que son los únicos que pueden transformar
legítimamente la estructura de datos.
Componentes de la OO
Objeto
Universidad Andrés Bello
Componentes de la OO
Relación entre clase y Objeto
Universidad Andrés Bello
Componentes de la OO
Objeto
Universidad Andrés Bello
• Algoritmo asociado a un objeto (o a una clase
de objetos), cuya ejecución se desencadena tras
la recepción de un "mensaje".
• Desde el punto de vista del comportamiento, es
lo que el objeto puede hacer.
• Un método puede producir un cambio en las
propiedades del objeto, o la generación de un
"evento" con un nuevo mensaje para otro objeto
del sistema
Componentes de la OO
Método
Universidad Andrés Bello
• Es un suceso en el sistema (tal como una
interacción del usuario con la máquina, o un
mensaje enviado por un objeto).
• El sistema maneja el evento enviando el
mensaje adecuado al objeto pertinente.
También se puede definir como evento la
reacción que puede desencadenar un objeto;
es decir, la acción que genera.
Componentes de la OO
Evento
Universidad Andrés Bello
Una comunicación dirigida a un objeto, que le
ordena que ejecute uno de sus métodos con
ciertos parámetros asociados al evento que lo
generó.
Componentes de la OO
Mensaje
Universidad Andrés Bello
• Es una variable que se declara privada, que
puede ser únicamente accedida y alterada por
un método del objeto, y que se utiliza para
indicar distintas situaciones posibles para el
objeto (o clase de objetos).
• No es visible al programador que maneja una
instancia de la clase.
Componentes de la OO
Estado interno
Universidad Andrés Bello
Resumen de OO
Clase: Automóvil
Herencia: de la clase Vehículo
Objeto: (el automóvil que tengo en el estacionamiento)
Método: modificar los datos del propietario
Evento: vender el automóvil
Atributos: propietario, patente, modelo, marca, precio
Mensaje: el evento vender envió un mensaje con los datos
del nuevo propietario
Propiedad o atributo: precio (puede cambiar) patente (no
puede cambiar, static)
Estado interno: dirección de memoria en donde esta
físicamente el objeto
Componentes de un objeto: … todos sus atributos y
métodos
Identificación de un objeto: nombre de la variable en el
sistema, “mi cacharrito”
Universidad Andrés Bello
Resumen de OO
• Clase Estudiante
• Herencia de la clase Persona ( destacar las cosas heredadas)
• Objeto (cada uno de los presentes en la sala)
• Método, informar a su escuela de cambio de dirección
• Evento, rendir examen, terminar semestre, cambiarse de
carrera
• Atributos, nombre, correo, teléfono, sexo
• Mensaje, nueva dirección informada
• Propiedad o atributo, carrera (puede cambiar) rut (no
puede cambiar, static)
• Estado interno, dirección de memoria en donde esta
físicamente el objeto
• Componentes de un objeto … todos sus atributos y
métodos
• Identificación de un objeto , nombre de la variable en el
sistema, “juan”
Universidad Andrés Bello
Resumen de OO
Objeto
Cada objeto es responsable de inicializarse y destruirse
en forma correcta
Un objeto consta de:
Tiempo de vida
Estado
Comportamiento
Atributos
Métodos
Universidad Andrés Bello
Resumen de OO
Tiempo de vida de un objeto
• La duración de un objeto en un programa
siempre está limitada en el tiempo
• La mayoría de los objetos sólo existen durante
una parte de la ejecución del programa
• Los objetos son creados mediante un
mecanismo denominado instanciación
• Los objetos dejan de existir cuando son
destruidos
Universidad Andrés Bello
Resumen de OO
Estado de un objeto
Queda definido por sus atributos
Con él se definen las propiedades del objeto, y el estado
en que se encuentra en un momento determinado de su
existencia
Universidad Andrés Bello
Resumen de OO
Comportamiento de un objeto
Queda definido por los métodos
Los prototipos de los métodos definidos en la interfaz de
una clase permiten a otros objetos, que forman parte de
la aplicación, interactuar con los objetos de esa clase
Universidad Andrés Bello
Resumen de OO
Instanciación de una clase
Universidad Andrés Bello
Resumen de OO
Instanciación de una clase
Universidad Andrés Bello
Características de POO
Existe un acuerdo acerca de qué características
contempla la "orientación a objetos".
Las características siguientes son las más
importantes:
• Abstracción
• Encapsulamiento
• Modularidad
• Principio de ocultación
• Polimorfismo
• Herencia
• Recolección de basura
Universidad Andrés Bello
Características de POO
Abstracción
Denota las características esenciales de un objeto, donde se
capturan sus comportamientos. Cada objeto en el sistema sirve
como modelo de un "agente" abstracto que puede realizar trabajo,
informar y cambiar su estado, y "comunicarse" con otros objetos en
el sistema sin revelar cómo se implementan estas características.
Los procesos, las funciones o los métodos pueden también ser
abstraídos, y, cuando lo están, una variedad de técnicas son
requeridas para ampliar una abstracción. El proceso de abstracción
permite seleccionar las características relevantes dentro de un
conjunto e identificar comportamientos comunes para definir nuevos
tipos de entidades en el mundo real.
Esto es clave en el proceso de análisis y diseño OO, ya que
mediante ella podemos llegar a armar un conjunto de clases que
permitan modelar la realidad o el problema que se quiere atacar.
Universidad Andrés Bello
Características de POO
Encapsulamiento
Significa reunir todos los elementos que pueden
considerarse pertenecientes a una misma entidad, al
mismo nivel de abstracción.
Esto permite aumentar la cohesión de los componentes
del sistema.
Algunos autores confunden este concepto con el
principio de ocultación, principalmente porque se suelen
emplear conjuntamente.
Universidad Andrés Bello
El encapsulamiento es el proceso por el que se ocultan:
• Las estructuras de datos
• Los detalles de la implementación
Permite considerar a los objetos como "cajas negras",
evitando que otros objetos accedan a detalles que NO LES
INTERESA
Una vez creada la clase, las funciones usuarias no
requieren conocer los detalles de su implementación
Toda clase tiene un conjunto de atributos y métodos
asociados a ella
Características de POO
Encapsulamiento
Universidad Andrés Bello
Todos los atributos están encapsulados o contenidos dentro
de la misma clase, de manera que son miembros de dicha
clase
Esos métodos y atributos pueden ser utilizados por otras
clases sólo si la clase que los encapsula les brinda los
permisos necesarios para ello
Características de POO
Encapsulamiento
Universidad Andrés Bello
Características de POO
Modularidad
Se denomina modularidad a la propiedad que permite
subdividir una aplicación en partes más pequeñas
(llamadas módulos), cada una de las cuales debe ser tan
independiente como sea posible de la aplicación en sí y
de las restantes partes.
Estos módulos se pueden compilar por separado, pero
tienen conexiones con otros módulos.
Al igual que la encapsulación, los lenguajes soportan la
modularidad de diversas formas
Universidad Andrés Bello
Características de POO
Principio de ocultación
Cada objeto está aislado del exterior, es un módulo natural, y
cada tipo de objeto expone una interfaz a otros objetos que
especifica cómo pueden interactuar con los objetos de la
clase.
El aislamiento protege a las propiedades de un objeto contra
su modificación por quien no tenga derecho a acceder a ellas;
solamente los propios métodos internos del objeto pueden
acceder a su estado. Esto asegura que otros objetos no
puedan cambiar el estado interno de un objeto de manera
inesperada, eliminando efectos secundarios e interacciones
inesperadas. Algunos lenguajes relajan esto, permitiendo un
acceso directo a los datos internos del objeto de una manera
controlada y limitando el grado de abstracción. La aplicación
entera se reduce a un agregado o rompecabezas de objetos.
Universidad Andrés Bello
Características de POO
Herencia
Las clases no se encuentran aisladas, sino que se relacionan
entre sí, formando una jerarquía de clasificación. Los
objetos heredan las propiedades y el comportamiento de
todas las clases a las que pertenecen.
La herencia organiza y facilita el polimorfismo y el
encapsulamiento, permitiendo a los objetos ser definidos y
creados como tipos especializados de objetos preexistentes.
Estos pueden compartir (y extender) su comportamiento sin
tener que volver a implementarlo. Esto suele hacerse
habitualmente agrupando los objetos en clases y estas
en árboles o enrejados que reflejan un comportamiento
común. Cuando un objeto hereda de más de una clase se
dice que hayherencia múltiple; siendo de alta complejidad
técnica por lo cual suele recurrirse a la herencia virtual para
evitar la duplicación de datos.
Universidad Andrés Bello
Permite reutilizar código creando nuevas clases a partir
de las existentes (construidas y depuradas)
Compromete una relación de jerarquía (es-un)
Una nueva clase se generará agregando atributos y/o
código a una clase existente
Una clase (derivada) puede heredar de otra clase (base):
Atributos y
Métodos
Características de POO
Herencia
Universidad Andrés Bello
Características de POO
Polimorfismo
Comportamientos diferentes, asociados a objetos distintos,
pueden compartir el mismo nombre; al llamarlos por ese
nombre se utilizará el comportamiento correspondiente al
objeto que se esté usando. O, dicho de otro modo, las
referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un
comportamiento en una referencia producirá el
comportamiento correcto para el tipo real del objeto
referenciado. Cuando esto ocurre en "tiempo de ejecución",
esta última característica se llama asignación
tardía o asignación dinámica. Algunos lenguajes
proporcionan medios más estáticos (en "tiempo de
compilación") de polimorfismo, tales como las plantillas y
la sobrecarga de operadores de C++.
Universidad Andrés Bello
Características de POO
Polimorfismo
Polimorfismo significa que la misma operación puede
comportarse diferentemente sobre distintas clases. Por
ejemplo, la operación "mover", puede comportarse
diferentemente sobre una clase llamada Ventana y una clase
llamada Piezas_ajedrez.
Capacidad que permite a dos clases diferentes responder de
forma distinta a un mismo mensaje
Esto significa que dos clases que tengan un método con el
mismo nombre y que respondan al mismo tipo de mensaje
(es decir, que reciban los mismo parámetros), ejecutarán
acciones distintas
Universidad Andrés Bello
Características de POO
Polimorfismo
Ejemplo
Al presionar el acelerador esperamos que aumente la
velocidad del auto, independiente de si se tiene un:
Motor con carburador
Motor con inyección electrónica
Universidad Andrés Bello
Polimorfismo
Polimorfismo por sobrecarga: es uno de los más usados y
consiste en sobrecargar los parámetros en un método
de una clase, permitiendo definir varios métodos con el
mismo nombre pero con distinto número o tipos de
parámetros (diferente comportamiento).
Características de POO
Polimorfismo
Universidad Andrés Bello
Características de POO
Recolección de basura
La recolección de basura o garbage collection es la
técnica por la cual el entorno de objetos se encarga de
destruir automáticamente, y por tanto desvincular la
memoria asociada, los objetos que hayan quedado sin
ninguna referencia a ellos. Esto significa que el
programador no debe preocuparse por la asignación o
liberación de memoria, ya que el entorno la asignará
al crear un nuevo objeto y la liberará cuando nadie lo
esté usando. En la mayoría de los lenguajes híbridos
que se extendieron para soportar el Paradigma de
Programación Orientada a Objetos como C++ u Object
Pascal, esta característica no existe y la memoria debe
desasignarse expresamente. Por eso JAVA no requiere
de “destructor”

Weitere ähnliche Inhalte

Was ist angesagt?

Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
5. arboles binarios
5. arboles binarios5. arboles binarios
5. arboles binarioselcapo2008
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Rommel Lòpez
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoGermán Robles Tandazo
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaMartha Beatriz Coronado Rosales
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 

Was ist angesagt? (20)

Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Seguridad sql server
Seguridad sql serverSeguridad sql server
Seguridad sql server
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
5. arboles binarios
5. arboles binarios5. arboles binarios
5. arboles binarios
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)
 
Diagramas de comportamientos
Diagramas de comportamientosDiagramas de comportamientos
Diagramas de comportamientos
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objeto
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
Ado net
Ado netAdo net
Ado net
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAva
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 

Ähnlich wie 3_Orientación a objeto

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosricardoloja
 
Trabajo sistemas digitales
Trabajo sistemas digitalesTrabajo sistemas digitales
Trabajo sistemas digitalesDany7x
 
Trabajo de Programacion Orientada a Objetos.
Trabajo de Programacion Orientada  a Objetos.Trabajo de Programacion Orientada  a Objetos.
Trabajo de Programacion Orientada a Objetos.Vicente Alberca
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosalexmoncada21
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionAlfonso Triana
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoswellington018
 
Analisis y diseño orientado a objetos exposicion
Analisis y diseño orientado a objetos exposicionAnalisis y diseño orientado a objetos exposicion
Analisis y diseño orientado a objetos exposicionalumnosguacara
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosronnyme21
 
2clasesdeprogramacion
2clasesdeprogramacion2clasesdeprogramacion
2clasesdeprogramacionAmado Arcaya
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAgapito26
 
Clase y Objeto de la POO
Clase y Objeto de la POOClase y Objeto de la POO
Clase y Objeto de la POOjvaldes9928
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetosjohnny herrera
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSTeDy j Sanchez
 

Ähnlich wie 3_Orientación a objeto (20)

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Trabajo sistemas digitales
Trabajo sistemas digitalesTrabajo sistemas digitales
Trabajo sistemas digitales
 
Trabajo de Programacion Orientada a Objetos.
Trabajo de Programacion Orientada  a Objetos.Trabajo de Programacion Orientada  a Objetos.
Trabajo de Programacion Orientada a Objetos.
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Principios poo
Principios pooPrincipios poo
Principios poo
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacion
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Analisis y diseño orientado a objetos exposicion
Analisis y diseño orientado a objetos exposicionAnalisis y diseño orientado a objetos exposicion
Analisis y diseño orientado a objetos exposicion
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
2clasesdeprogramacion
2clasesdeprogramacion2clasesdeprogramacion
2clasesdeprogramacion
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Clase y Objeto de la POO
Clase y Objeto de la POOClase y Objeto de la POO
Clase y Objeto de la POO
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Curso de Java Intermedio
Curso de Java IntermedioCurso de Java Intermedio
Curso de Java Intermedio
 

Mehr von Pedro Montecinos Gaete (8)

Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
 
Mod control algoritmo 2017
Mod control algoritmo 2017Mod control algoritmo 2017
Mod control algoritmo 2017
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
Mod 2017 2 si
Mod 2017 2 siMod 2017 2 si
Mod 2017 2 si
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Mod 1 introducción a la programación
Mod 1 introducción a la programaciónMod 1 introducción a la programación
Mod 1 introducción a la programación
 
Mod 2 algoritmos
Mod 2 algoritmosMod 2 algoritmos
Mod 2 algoritmos
 
Nomenclatura manual bpmn 2.0
Nomenclatura manual bpmn 2.0Nomenclatura manual bpmn 2.0
Nomenclatura manual bpmn 2.0
 

Kürzlich hochgeladen

Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 

Kürzlich hochgeladen (20)

Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 

3_Orientación a objeto

  • 1. 03-23-05 Universidad Andrés Bello Facultad de Ingeniería Modelamiento de Sistemas
  • 2. Universidad Andrés Bello •El zologico de Quillota desea contruir una aplicación para gestionar el fucionamiento de forma adecuda ya que se han perdido varios animales. •Definir las clases y sus atributos y un esquema de herencia,
  • 3. Universidad Andrés Bello Modelamiento de Sistemas Programación Orientada a Objeto
  • 4. Universidad Andrés Bello Programación Orientada a Objeto Introducción La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo: • herencia, • cohesión, • abstracción, • polimorfismo, • acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que la soportan (JAVA, C++, PYTHON, …) .
  • 5. Universidad Andrés Bello Programación Orientada a Objeto El término "orientación por objeto" significa que organizaremos el software como una colección de objetos discretos que incorporan tanto estructuras de datos como procedimientos. Esto contrasta con la programación convencional, en la cual las estructura de datos y el comportamiento están solo aproximadamente conectados. El desarrollo orientado por objetos es una nueva forma de pensar acerca del software basado sobre abstracciones que existen en el mundo real. En este contexto, el desarrollo es referido a la primera parte del ciclo de vida del software: análisis, diseño e implantación.
  • 6. Universidad Andrés Bello Programación Orientada a Objeto El elemento base de la POO son los objetos. Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad: El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos). El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él. La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
  • 7. Universidad Andrés Bello Programación Orientada a Objeto A diferencia de otros métodos, la POO da como resultado un diseño el cual interconecta los objetos de datos (elementos de datos) y las operaciones de procesamiento, de forma tal que encapsula la información y el procesamiento. Este encapsulamiento es el paradigma fundamental de la orientación por objetos. La POO se basa en la idea natural de un mundo lleno de objetos y que la resolución de problemas se realiza mediante el modelo de objetos
  • 8. Universidad Andrés Bello Programación Orientada a Objeto Beneficios • Facilita la creación de software de calidad pues sus características potencian:  La mantención  La extensión y  La reutilización del software generado bajo este paradigma
  • 9. Universidad Andrés Bello Programación Orientada a Objeto La naturaleza única de la programación orientada a objeto se debe a su habilidad para construir basándose en tres conceptos importantes del diseño del software: • Abstracción. • Ocultamiento de la información. • Modularidad.
  • 10. Universidad Andrés Bello Clase La clase de estructura que abarca tantos propiedades como comportamiento es la unidad natural de la abstracción en los sistemas de orientación por objeto y puede ser utilizarse para modelar tanto entidades objetos como relaciones entre los objetos. Los objetos que pertenecen a una clase se describen colectivamente por la definición de una clase, esto significa que en lugar de describir los objetos individuales la orientación por objeto concentra en un patrón tanto el estado como el comportamiento que es común a todos los objetos de la clase. Componentes de la OO Clase
  • 11. Universidad Andrés Bello Una clase se representa por una caja la cual puede tener 3 regiones. • La primera región contiene el nombre de la clase. • La segunda región contiene la lista de atributos, cada nombre de atributo puede estar seguido por detalles opcionales tales como tipo de atributo y valores por defectos. • La tercera región contiene los nombres de las operaciones. Cada nombre de operación puede ser seguido por detalles opcionales tales como listas de argumentos y tipos de resultados. Los atributos y operaciones puede o no mostrarse; esto depende del nivel de detalle deseado. Componentes de la OO Clase
  • 12. Universidad Andrés Bello Representación de la clase Nombre de la clase Nombre_atributo1: tipo dato1= valor defecto1 Nombre_atributo2: tipo dato2= valor defecto2 . . . Nombre_operación1(lista de argumento):tipo_resultado1 Nombre_operación2 (lista de argumento):tipo_resultado2 . . . Atributos. Representan las características propias del objeto Métodos. Representan las operaciones que puede realizar el objeto Componentes de la OO Clase
  • 13. Universidad Andrés Bello Un objeto es una entidad física o abstracta que tiene un comportamiento antes ciertos estímulos, tanto externos como de otros objetos específicos que se encuentran dentro del sistema. Ejemplo de objeto: • Persona • Equipo Hardware • Materiales • Información • Software • Procesos • Procedimientos Componentes de la OO Objeto
  • 14. Universidad Andrés Bello • Es una Instancia es una ocurrencia de la clase, o sea una instancia de una clase. • Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. • Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Componentes de la OO Objeto
  • 15. Universidad Andrés Bello Cada objeto tiene su propia identidad que lo distingue de los demás objetos. En otras palabras, dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idénticos. Cuando un objeto se transforma en una realización de software, consta de una interfaz, una estructura de datos privada y unos procesos llamados operaciones o métodos que son los únicos que pueden transformar legítimamente la estructura de datos. Componentes de la OO Objeto
  • 16. Universidad Andrés Bello Componentes de la OO Relación entre clase y Objeto
  • 18. Universidad Andrés Bello • Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". • Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. • Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema Componentes de la OO Método
  • 19. Universidad Andrés Bello • Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). • El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera. Componentes de la OO Evento
  • 20. Universidad Andrés Bello Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. Componentes de la OO Mensaje
  • 21. Universidad Andrés Bello • Es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). • No es visible al programador que maneja una instancia de la clase. Componentes de la OO Estado interno
  • 22. Universidad Andrés Bello Resumen de OO Clase: Automóvil Herencia: de la clase Vehículo Objeto: (el automóvil que tengo en el estacionamiento) Método: modificar los datos del propietario Evento: vender el automóvil Atributos: propietario, patente, modelo, marca, precio Mensaje: el evento vender envió un mensaje con los datos del nuevo propietario Propiedad o atributo: precio (puede cambiar) patente (no puede cambiar, static) Estado interno: dirección de memoria en donde esta físicamente el objeto Componentes de un objeto: … todos sus atributos y métodos Identificación de un objeto: nombre de la variable en el sistema, “mi cacharrito”
  • 23. Universidad Andrés Bello Resumen de OO • Clase Estudiante • Herencia de la clase Persona ( destacar las cosas heredadas) • Objeto (cada uno de los presentes en la sala) • Método, informar a su escuela de cambio de dirección • Evento, rendir examen, terminar semestre, cambiarse de carrera • Atributos, nombre, correo, teléfono, sexo • Mensaje, nueva dirección informada • Propiedad o atributo, carrera (puede cambiar) rut (no puede cambiar, static) • Estado interno, dirección de memoria en donde esta físicamente el objeto • Componentes de un objeto … todos sus atributos y métodos • Identificación de un objeto , nombre de la variable en el sistema, “juan”
  • 24. Universidad Andrés Bello Resumen de OO Objeto Cada objeto es responsable de inicializarse y destruirse en forma correcta Un objeto consta de: Tiempo de vida Estado Comportamiento Atributos Métodos
  • 25. Universidad Andrés Bello Resumen de OO Tiempo de vida de un objeto • La duración de un objeto en un programa siempre está limitada en el tiempo • La mayoría de los objetos sólo existen durante una parte de la ejecución del programa • Los objetos son creados mediante un mecanismo denominado instanciación • Los objetos dejan de existir cuando son destruidos
  • 26. Universidad Andrés Bello Resumen de OO Estado de un objeto Queda definido por sus atributos Con él se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia
  • 27. Universidad Andrés Bello Resumen de OO Comportamiento de un objeto Queda definido por los métodos Los prototipos de los métodos definidos en la interfaz de una clase permiten a otros objetos, que forman parte de la aplicación, interactuar con los objetos de esa clase
  • 28. Universidad Andrés Bello Resumen de OO Instanciación de una clase
  • 29. Universidad Andrés Bello Resumen de OO Instanciación de una clase
  • 30. Universidad Andrés Bello Características de POO Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las características siguientes son las más importantes: • Abstracción • Encapsulamiento • Modularidad • Principio de ocultación • Polimorfismo • Herencia • Recolección de basura
  • 31. Universidad Andrés Bello Características de POO Abstracción Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. Esto es clave en el proceso de análisis y diseño OO, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.
  • 32. Universidad Andrés Bello Características de POO Encapsulamiento Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
  • 33. Universidad Andrés Bello El encapsulamiento es el proceso por el que se ocultan: • Las estructuras de datos • Los detalles de la implementación Permite considerar a los objetos como "cajas negras", evitando que otros objetos accedan a detalles que NO LES INTERESA Una vez creada la clase, las funciones usuarias no requieren conocer los detalles de su implementación Toda clase tiene un conjunto de atributos y métodos asociados a ella Características de POO Encapsulamiento
  • 34. Universidad Andrés Bello Todos los atributos están encapsulados o contenidos dentro de la misma clase, de manera que son miembros de dicha clase Esos métodos y atributos pueden ser utilizados por otras clases sólo si la clase que los encapsula les brinda los permisos necesarios para ello Características de POO Encapsulamiento
  • 35. Universidad Andrés Bello Características de POO Modularidad Se denomina modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la modularidad de diversas formas
  • 36. Universidad Andrés Bello Características de POO Principio de ocultación Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas; solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.
  • 37. Universidad Andrés Bello Características de POO Herencia Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hayherencia múltiple; siendo de alta complejidad técnica por lo cual suele recurrirse a la herencia virtual para evitar la duplicación de datos.
  • 38. Universidad Andrés Bello Permite reutilizar código creando nuevas clases a partir de las existentes (construidas y depuradas) Compromete una relación de jerarquía (es-un) Una nueva clase se generará agregando atributos y/o código a una clase existente Una clase (derivada) puede heredar de otra clase (base): Atributos y Métodos Características de POO Herencia
  • 39. Universidad Andrés Bello Características de POO Polimorfismo Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
  • 40. Universidad Andrés Bello Características de POO Polimorfismo Polimorfismo significa que la misma operación puede comportarse diferentemente sobre distintas clases. Por ejemplo, la operación "mover", puede comportarse diferentemente sobre una clase llamada Ventana y una clase llamada Piezas_ajedrez. Capacidad que permite a dos clases diferentes responder de forma distinta a un mismo mensaje Esto significa que dos clases que tengan un método con el mismo nombre y que respondan al mismo tipo de mensaje (es decir, que reciban los mismo parámetros), ejecutarán acciones distintas
  • 41. Universidad Andrés Bello Características de POO Polimorfismo Ejemplo Al presionar el acelerador esperamos que aumente la velocidad del auto, independiente de si se tiene un: Motor con carburador Motor con inyección electrónica
  • 42. Universidad Andrés Bello Polimorfismo Polimorfismo por sobrecarga: es uno de los más usados y consiste en sobrecargar los parámetros en un método de una clase, permitiendo definir varios métodos con el mismo nombre pero con distinto número o tipos de parámetros (diferente comportamiento). Características de POO Polimorfismo
  • 43. Universidad Andrés Bello Características de POO Recolección de basura La recolección de basura o garbage collection es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes híbridos que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u Object Pascal, esta característica no existe y la memoria debe desasignarse expresamente. Por eso JAVA no requiere de “destructor”