programacion orientada a objetos
TRANSCRIPT
![Page 1: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/1.jpg)
LOGO
Seminario de Programación de Computadoras
Unidad 8
Programación Orientada
a ObjetosOctavio Ulises Pérez Siliceo
![Page 2: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/2.jpg)
Agenda
Abstracción , Polimorfismo
Encapsulamiento
Constructores, Herencia
Atributos , Métodos
POO, Objetos, Clases
![Page 3: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/3.jpg)
La POO es…
“Un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase y cuyas clases son todas miembros de una jerarquía de clases unidas mediante relaciones”
Grady Booch
![Page 4: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/4.jpg)
El Modelo de Objetos
Objetos en el mundo real Atributos Propiedades Métodos Abstracción Clases y Objetos Encapsulamiento Mensajes Constructores Destructor
Contempla los siguientes elementos
Herencia Simple MúltipleClases abstractasClases parametrizadasInterfacesSobre-escrituraSobrecargaPolimorfismo
![Page 5: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/5.jpg)
ObjetosEn el mundo real
Los objetos poseen características que los distinguen entre sí.
Los objetos tienen acciones asociadas a ellos.
![Page 6: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/6.jpg)
Ejemplo: Objeto Perro
Características: Nombre: “TOTO” Raza: Labrador“” Color: “Marrón” ….etc… Acciones: Ladrar [“Guau Guau”] Comer [“Chomp Chomp”] Dormir [“Zzzzzzzz”] …etc…
www.thmemgallery.com
TOTO:PERRONombre: TOTORaza:LabradorColor:MarrónComer()Ladrar()Dormir()
![Page 7: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/7.jpg)
Objetos
AtributosValor de sus
características
MétodosAcciones quepuede realizar
IdentidadPertenece a una clase y tiene un nombre único
Objetos
![Page 8: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/8.jpg)
Clase
Es una DESCRIPCIÓN
de lascaracterísticas y acciones para
un tipo de objetos.
Clase
Una clase NO ES UN OBJETO.
Es solo una PLANTILLA,
plano o definición para crear objetos.
![Page 9: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/9.jpg)
Clase
Modelo
Plantilla
Esquema A partir de una clase se pueden crear muchos objetos independientes con las mismascaracterísticas.
Contiene todas las características comunes deese conjunto de objetos
Clase
![Page 10: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/10.jpg)
Clase : Objeto
Datos
Es Creado a partir De Una
clasePoseeNombre
único
InstanciaDe unaclase
CombinaLo siguiente
Un Objeto
Funciones
![Page 11: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/11.jpg)
Es la creación o manifestación concreta de un objeto a partir de su clase
Instancia
Instancia(clase
Carros)
![Page 12: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/12.jpg)
Representan los datos de los objetos
Atributos
1
Son controlados a través de ladeclaración de variables
2
Es importante identificar eltipo de dato
3Se debe seleccionar sólo aquellos atributos necesarios para el modelo planteado(abstracción)
Variables
De InstanciaSe crea una copia por
cada objeto creadoDe Clase (Estáticas)
Una sóla variable para todos los objetos generados
![Page 13: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/13.jpg)
Métodos y Mensajes
Anatomía de un mensaje
Identidad del receptor Método que ha de ejecutar Información especial (argumentos o parámetros)
Ejemplos: miTelevision.Encender( ) miTelevision.Apagar( ) miTelevision.CambiarCanal( 45 ) miPerro.Comer(“Croquetas”) miEmpleado.Contratar (“Juan”, 3500) miFactura.Imprimir( )
Son las acciones que realizan los objetos y definen su comportamiento
Es el conjunto de mensajes a los cuales puede responder un
objeto
Protocolo del Objeto
![Page 14: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/14.jpg)
Mensajes = Comunicación entre objetos
Los objetos realizan acciones cuando reciben mensajes
Oprime botón de encendido
Envía orden de encendido
Mensaje recibido: Enciende TVAcción realizada: envía orden de encendido
Mensaje recibido: EncenderAcción realizada: Muestra Imagen
![Page 15: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/15.jpg)
Constructores y Destructores
Destructor.- Operación que libera el estado de un objeto y/o destruye el propio objeto.
Constructor.- Operación queCrea un objeto y/o inicializa su estado.
Los objetos ocupan espacio en memoria; existen en el tiempo y deben crearse [instanciarse] y destruirse:
![Page 16: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/16.jpg)
Constructor
No puede: Prototiparse, devolver valor, ni invocarse explícitamente
Es un método especial de la clase que sirve para crear objetos, inicializar atributos y propiedades; Debe declararse publico y llamarse igual que su clase; puede recibir parámetros y sobrecargarse
En una clase pueden haber múltiples constructores (sobrecarga)
![Page 17: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/17.jpg)
Constructor
class Persona{ public string Nombre; public Persona() { Nombre = "Desconocido";}
public Persona(string nombreDeLaPersona) { Nombre = nombreDeLaPersona; }}
class Programa{ static void Main() { Persona unaPersona = new Persona(); System.Console.WriteLine(unaPersona.Nombre);
Persona otraPersona = new Persona("Ramon"); System.Console.WriteLine(otraPersona.Nombre); System.Console.ReadLine(); }}
![Page 18: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/18.jpg)
HerenciaCapacidad para utilizar características previstas en antepasados o ascendientes.
Permite construir nuevas clases a partir de otras ya existentes, permitiendo que éstas les “transmitan” sus propiedades.
Objetivo: Reutilización de código.
![Page 19: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/19.jpg)
Herencia (Tipos)
Herencia Simple.- Una clase puede tener sólo un ascendiente. [Una subclase puede heredar de una única
clase].
Herencia múltiple (en malla).- Una clase puede tener más de un ascendiente inmediato. [Heredar de más de una clase].
![Page 20: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/20.jpg)
Encapsulamiento
El encapsulamiento oculta detalles de la implementación de un objeto.
Los objetos encapsulan lo quehacen. Ocultan la funcionalidadinterna de sus operaciones, de otros objetos y del mundo exterior.
Permite incluir en una sola entidad información y operaciones que controlan dicha información.
Permite: Componentes públicos [Accesibles, Visibles]. Componentes privados [No accesibles, Ocultos]. Restricción de accesos indebidos.
![Page 21: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/21.jpg)
Abstracción
Se refiere a “quitar” atributos, propiedades
y métodos de un objeto y quedarse solo con aquellos que sean necesarios (relevantes
para el problema a solucionar).
La abstracción se centra en las
características esenciales de algún objeto, en relación a la perspectiva del
observador.
Se define como la capacidad para
examinar algo sin preocuparse de sus
detalles internos
De datos o Funcional
![Page 22: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/22.jpg)
PolimorfismoEs el uso de un mismo nombre para representar o significar más de una acción.
La sobrecarga es un tipo de Polimorfismo.
Que un mismo mensaje pueda producir acciones totalmente diferentes cuando se recibe por objetos diferentes del mismo tipo.
Un usuario puede enviar un mensaje genérico y dejar los detalles de la implementación exacta para el objeto que recibe el mensaje en tiempo de ejecución. Para este caso, se utiliza herencia y sobrescritura (Override).
![Page 23: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/23.jpg)
Lenguajes Orientados a Objetos
Lenguajes
JavaEiffelC++
Smalltalk C# Pyton Ruby
![Page 24: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/24.jpg)
Ejemplo desde Visual C# 2010
Superclase o Clase Padre
Subclases o Clases hijas
![Page 25: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/25.jpg)
Conclusiones
Después de esta breve explicación podemos concluir que la programación orientada a objetos, es un conjunto de técnicas que pueden utilizarse para desarrollar programas eficientemente. Los objetos son los elementos principales de construcción. El paradigma de la Orientación a Objetos es el estilo aún dominante de programación, descripción y modelado de hoy en día
![Page 26: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/26.jpg)
Bibliografía.
Add Your Title
Add Your Title
Herbert SchildtC# Manual de referenciaEd. Mc Graw Hill2005
Fco. Javier CeballosEciclopedia de Microsoft Visual C#Ed. Alfaomega2007
Bruno López TakeyasProgramación Orientada a Objetos en C# .NET.http://www.itnuevolaredo.edu.mx/Takeyas2016
![Page 27: Programacion Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062503/5878a15a1a28ab42588b5929/html5/thumbnails/27.jpg)
LOGOOctavio Ulises Pérez Siliceo