Post on 20-Feb-2018
transcript
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 1/26
Pag. 1
Introducción a la POO
Introducción a la POO
Programación Orientada a
Objetos
Lima, mayo de 2015
Dr. Roberto Montero Flores
pcsirmon@upc.edu.pe
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 2/26
Pag. 2
Introducción a la POO
AGENDA
A) Introducción
B) ObjetosC) Clases
D) POO y el mundo real
E) Terminología básica
F) Fundamentos
G) Ventajas y desventajas
H) Conclusiones
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 3/26
Pag. 3
Introducción a la POOA. Introducción
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 4/26
Pag. 4
Introducción a la POO
Paradigma
Un paradigma es una forma de pensar ya establecida y
cimentada en nuestro subconsciente.
Existen muchas formas de pensar y de hacer las cosas,
de igual manera en Programación existen diversas
formas de plantear los esquemas que originan losprogramas de cómputo
A. Introducción
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 5/26
Pag. 5
Introducción a la POO
Paradigma
Un paradigma OO es una filosofía, un modo de pensar
basado en objetos.
Un programa en el paradigma OO es un modelo de una
parte del mundo.
En este modelo aparecen los objetos que forman partedel mundo real.
El paradigma de la Programación Orientada a Objetos es
la manera de pensar como vamos a describir nuestrosprogramas representando objetos del mundo real.
A. Introducción
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 6/26
Pag. 6
Introducción a la POO
¿qué es un objeto?
B. Objetos
Ej. Lámpara
Características
Comportamientos
Color
TamañoPeso
Posición
Encender
Apagar
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 7/26
Pag. 7
Introducción a la POO
¿qué es un objeto?
B. Objetos
Es una entidad del mundo real, cualquier cosa o
individuo es un objeto y puede ser representado como
tal con sus características y comportamientos.
Es la entidad en la que se basa la POO, y donde se le
denomina una instancia.Los objetos en programación no siempre son físicos.
- Ejemplo: mensaje de error.
Los objetos que tienen las mismas características y elmismo comportamiento, se agrupan en CLASES.
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 8/26
Pag. 8
Introducción a la POO
¿qué es una característica?
B. Objetos
Es aquello que distingue o particulariza a alguien o a
algo.
En programación, una característica se conoce como un
atributo y así se le codifica en el programa.
• Color
• Tamaño
• Peso
• Tipo de Pico• ….
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 9/26
Pag. 9
Introducción a la POO
¿ qué es un comportamiento ?
B. Objetos
Es lo que “sabe hacer” o para lo que sirve alguien o
algo.
En programación, un comportamiento se le denomina
método y así se codifica en el programa
• Volar
• Comer
• Cazar
• ….
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 10/26
Pag. 10
Introducción a la POO
¿qué es una clase?
C. Clases
Nissan
Blanco
Bluebird
1998
BQY990
-------------
-
Encender
Avanzar
Parar
Toyota
Rojo
Corolla
2005
AGP451
----
Encender
Avanzar
Parar
Objeto:
Auto 1
Objeto:
Auto 2
Atributos:Marca
Color
Modelo
Año
Placa
Comportamiento:Encender
Avanzar
Parar
CLASE AUTO
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 11/26
Pag. 11
Introducción a la POO
¿qué es una clase?
C. Clases
Define una categoría de objetos que tienen:
Características
ejemplo: tamaño, color, marca, etc
Comportamiento
ejemplo: encender, avanzar, pintar, etc
Se puede decir entonces que una CLASE es una
“ plantilla” que se utiliza para generar muchos objetos
del mismo tipo. Con igual comportamiento y diferentes
características.
SIMILARES
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 12/26
Pag. 12
Introducción a la POO
¿cómo se representa una clase?
C. Clases
Una clase puede ser representada dentro de un modelo
como una representación gráfica, de la siguiente manera:
Características
(Atributos)
Nombre Clase
Comportamiento(Métodos )
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 13/26
Pag. 13
Introducción a la POO
¿cómo se representa una clase?
C. Clases
Ejemplo:
marca
color
modelo
año de Fabricación
Placa
Auto
encencer
avanzar
parar
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 14/26
Pag. 14
Introducción a la POO
POO
D. POO y el mundo real
Parte del éxito del paradigma de la Programación
Orientada a Objetos es el hecho de clasificar los objetos
de manera muy similar a como lo hacemos en el mundo
real. Esto es, a partir de las características de los objetos
que percibimos. De esa manera podemos saber que un
auto es un vehículo mientras que el perro es un animal.
En ese ejemplo Vehículo sería la clase y Carro el objeto de
la clase vehículo. De igual manera Animal sería la clase y
Perro el objeto de la clase Animal.
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 15/26
Pag. 15
Introducción a la POO
¿cómo se representa una clase en ruby?
Ejemplo:
D. POO y el mundo real
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 16/26
Pag. 16
Introducción a la POO
¿cómo se representa una clase?
Una vez creada la clase, que funciona como una plantilla,
podemos crear todos los objetos que necesitemos. En
este caso todos los objetos que creemos tendrán la
misma estructura que hemos definido en la clase.
Una vez creadas las clases tenemos acceso a los atributos
y métodos que hemos definido.
D. POO y el mundo real
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 17/26
Pag. 17
Introducción a la POO
¿cómo se representa una clase?
Atributos: Son las características que definen al objeto
(nombre, edad, precio).
Métodos: Son el código que define lo que puede hacer
un objeto determinado (correr, calcular promedio).
Mensaje: Es la forma en la que un objeto le dice a otro
que quiere que haga algo. (caballo01.correr). Es la forma
en la que se comunican los objetos.
Programa Orientado a Objetos: Conjunto de objetosque se comunican mediante mensajes y generan un
comportamiento mediante sus métodos.
E. Terminología básica
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 18/26
Pag. 18
Introducción a la POO
ENCAPSULAMIENTO
F. Fundamentos
Mecanismo que permite unir, en una única abstracción, todas las
propiedades (atributos) y funcionalidades (operaciones) de una
entidad (objeto).
Operaciones Atributos
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 19/26
Pag. 19
Introducción a la POO
ENCAPSULAMIENTO
F. Fundamentos
Imaginemos una medicina en cápsula (cualquiera). Nosotros
no necesitamos conocer la composición química niingredientes del la medicina para usarla.
Simplemente conocemos que sirve para curar un mal. Sinosotros pudiéramos acceder a los componentes de la
Aspirina y los pudiéramos modificar podríamos hasta causarla muerte de alguien.
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 20/26
Pag. 20
Introducción a la POO
ENCAPSULAMIENTO
F. Fundamentos
• De igual manera en las clases no es necesario que las
demás clases sepan cuáles son los atributos y muchomenos manipularlos.• Es por eso que se considera que los atributos deben ser
privados (nadie accede directamente a ellos).
• Aún así necesitamos hacer que la clase haga lo quequeremos que haga. Para ello lo que hacemos es acceder asu comportamiento, esto lo hacemos mediante losmétodos (que suelen ser públicos).
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 21/26
Pag. 21
Introducción a la POO
ENCAPSULAMIENTO
F. Fundamentos
• Es así que si quiero, por ejemplo, saber el nombre de uncaballo no se accede directamente al nombre sino por
medio de un método encargado de enviarme el nombre delcaballo.• De igual manera si quiero cambiarle el nombre porque lo
puse mal no accedo directamente al atributo, lo que hago
es acceder a él mediante un método que me permitamodificar el nombre.
• Si todas las clases pudieran acceder a los atributos deotras clases directamente todo podría ser un desorden (ycausar la muerte del sistema de igual manera que laMedicina en las personas si modificamos sus ingredientes).Nosotros decidiremos qué atributos son accesibles y cuáles
no.
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 22/26
Pag. 22
Introducción a la POO
ENCAPSULAMIENTO
F. Fundamentos
• Finalmente , cuando unimos los atributos y los métodos enuna clase entonces estamos encapsulando para manejarlo
todo como una unidad. En el ejemplo anterior seríaCaballo. Esta clase contiene los atributos que definen quées un caballo para mi sistema y los métodos que definenqué es lo que puede hacer un caballo.
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 23/26
Pag. 23
Introducción a la POO
Ventajas
G. Ventajas y Desventajas
• Fomenta la reutilización y extensión del código.
• Permite crear sistemas más complejos.
• Relacionar el sistema al mundo real.• Facilita la creación de programas visuales.
• Construcción de prototipos
• Agiliza el desarrollo de software
• Facilita el mantenimiento del software
• Lo interesante de la POO es que proporcionaconceptos y herramientas con las cuales semodela y representa el mundo real tan
fielmente como sea posible.
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 24/26
Pag. 24
Introducción a la POO
DesventajasSi bien las ventajas son mucho mayores que las desventajas esimportante conocer algunas de las desventajas situacionales:
• Para proyectos simples y pequeños muchas veces es más eltrabajo que toma crear las clases que lo que se programapara lograr el objetivo. Hay que tomar en cuenta que POOno es el único paradigma de programación.
• Aprender a abstraer un elemento del mundo real para crearuna clase es un proceso complejo que requiere práctica.
• Las abstracciones de un desarrollador no necesariamentecoinciden con las de otros. Sin embargo ambosplanteamientos pueden ser correctos a pesar de serdiferentes.
G. Ventajas y Desventajas
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 25/26
Pag. 25
Introducción a la POOH. Conclusiones
• La tecnología ha invadido todos los campos profesionales.En el caso de la ingeniería se ha vuelto indispensable
saber programar.• La POO permite representar el mundo real en un sistema.
• Se pueden crear sistemas más complejos con menoscódigo.
• Tareas como escalar el software y darle mantenimiento sefacilitan.
• No es el único paradigma de programación pero es,
actualmente, el más utilizado por sus ventajas.
7/24/2019 POO Sesion1
http://slidepdf.com/reader/full/poo-sesion1 26/26
Pag. 26
Introducción a la POO
GRACIAS POR SU ATENCION
FIN