SlideShare una empresa de Scribd logo
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”

Más contenido relacionado

La actualidad más candente

Java Rmi
Java  RmiJava  Rmi
Java Rmi
monica1509
 
Lect 1-class and object
Lect 1-class and objectLect 1-class and object
Lect 1-class and object
Fajar Baskoro
 
Abstract class in c++
Abstract class in c++Abstract class in c++
Abstract class in c++
Sujan Mia
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
Daniel Gomez Jaramillo
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
jmachado614
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
José Antonio Sandoval Acosta
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
INSTITUTO TECNOLOGICO SUPERIOR DE LERDO
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
Universidad Tecnológica Intercontinental
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
Cesar David Fernandez Grueso
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
José Antonio Sandoval Acosta
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
Pipe Muñoz
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
Neguib Núñez
 
Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
Demián Gutierrez
 
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
Simplilearn
 
Introduction to oop and java fundamentals
Introduction to oop and java fundamentalsIntroduction to oop and java fundamentals
Introduction to oop and java fundamentals
AnsgarMary
 
Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetes
andrescofran
 
Normalización Usando Dependencias Funcionales - Segunda Forma Normal
Normalización Usando Dependencias Funcionales - Segunda Forma NormalNormalización Usando Dependencias Funcionales - Segunda Forma Normal
Normalización Usando Dependencias Funcionales - Segunda Forma Normal
Yessenia I. Martínez M.
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
Thang Chung
 
Entidad relacion extendido resumen
Entidad relacion extendido resumenEntidad relacion extendido resumen
Entidad relacion extendido resumen
15e1a
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
josebrandon24
 

La actualidad más candente (20)

Java Rmi
Java  RmiJava  Rmi
Java Rmi
 
Lect 1-class and object
Lect 1-class and objectLect 1-class and object
Lect 1-class and object
 
Abstract class in c++
Abstract class in c++Abstract class in c++
Abstract class in c++
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
 
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
 
Introduction to oop and java fundamentals
Introduction to oop and java fundamentalsIntroduction to oop and java fundamentals
Introduction to oop and java fundamentals
 
Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetes
 
Normalización Usando Dependencias Funcionales - Segunda Forma Normal
Normalización Usando Dependencias Funcionales - Segunda Forma NormalNormalización Usando Dependencias Funcionales - Segunda Forma Normal
Normalización Usando Dependencias Funcionales - Segunda Forma Normal
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 
Entidad relacion extendido resumen
Entidad relacion extendido resumenEntidad relacion extendido resumen
Entidad relacion extendido resumen
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 

Similar a 3_Orientación a objeto

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
ricardoloja
 
Trabajo sistemas digitales
Trabajo sistemas digitalesTrabajo sistemas digitales
Trabajo sistemas digitales
Dany7x
 
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 objetos
alexmoncada21
 
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
 
Principios poo
Principios pooPrincipios poo
Principios poo
elprofenava2002
 
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
Alfonso Triana
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
wellington018
 
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
alumnosguacara
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
ronnyme21
 
2clasesdeprogramacion
2clasesdeprogramacion2clasesdeprogramacion
2clasesdeprogramacion
Amado 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 original
Jose Angel Rodriguez
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
Agapito26
 
Clase y Objeto de la POO
Clase y Objeto de la POOClase y Objeto de la POO
Clase y Objeto de la POO
jvaldes9928
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
MaryRomero77
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
richard rodrigo mero sarcos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
Diego Alberto Guillen Francisco
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
johnny herrera
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
TeDy j Sanchez
 
Curso de Java Intermedio
Curso de Java IntermedioCurso de Java Intermedio
Curso de Java Intermedio
José Angel Vaderrama Noguez
 

Similar a 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
 

Más de Pedro Montecinos Gaete

Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
Pedro Montecinos Gaete
 
Mod control algoritmo 2017
Mod control algoritmo 2017Mod control algoritmo 2017
Mod control algoritmo 2017
Pedro Montecinos Gaete
 
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
Pedro Montecinos Gaete
 
Mod 2017 2 si
Mod 2017 2 siMod 2017 2 si
Mod 2017 2 si
Pedro Montecinos Gaete
 
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
Pedro Montecinos Gaete
 
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
Pedro Montecinos Gaete
 
Mod 2 algoritmos
Mod 2 algoritmosMod 2 algoritmos
Mod 2 algoritmos
Pedro Montecinos Gaete
 
Nomenclatura manual bpmn 2.0
Nomenclatura manual bpmn 2.0Nomenclatura manual bpmn 2.0
Nomenclatura manual bpmn 2.0
Pedro Montecinos Gaete
 

Más de 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
 

Último

Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Juan Martín Martín
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Demetrio Ccesa Rayme
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
La Paradoja educativa
 
Radicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no gradoRadicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no grado
perezducasaarmando
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
valerytorresmendizab
 

Último (20)

Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
 
Radicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no gradoRadicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no grado
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
 

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”