programacion orientada a objetos
TRANSCRIPT
LOGO
Seminario de Programación de Computadoras
Unidad 8
Programación Orientada
a ObjetosOctavio Ulises Pérez Siliceo
Agenda
Abstracción , Polimorfismo
Encapsulamiento
Constructores, Herencia
Atributos , Métodos
POO, Objetos, Clases
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
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
ObjetosEn el mundo real
Los objetos poseen características que los distinguen entre sí.
Los objetos tienen acciones asociadas a ellos.
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()
Objetos
AtributosValor de sus
características
MétodosAcciones quepuede realizar
IdentidadPertenece a una clase y tiene un nombre único
Objetos
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.
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
Clase : Objeto
Datos
Es Creado a partir De Una
clasePoseeNombre
único
InstanciaDe unaclase
CombinaLo siguiente
Un Objeto
Funciones
Es la creación o manifestación concreta de un objeto a partir de su clase
Instancia
Instancia(clase
Carros)
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
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
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
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:
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)
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(); }}
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.
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].
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.
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
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).
Lenguajes Orientados a Objetos
Lenguajes
JavaEiffelC++
Smalltalk C# Pyton Ruby
Ejemplo desde Visual C# 2010
Superclase o Clase Padre
Subclases o Clases hijas
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
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
LOGOOctavio Ulises Pérez Siliceo