Poo 160810045140

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

Seminario de Programación de Computadoras

Unidad 8
Programación
Orientada
a Objetos
Octavio Ulises Pérez Siliceo
LOGO
Agenda

POO, Objetos, Clases

Atributos , Métodos

Constructores, Herencia

Encapsulamiento

Abstracción , Polimorfismo
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

Contempla los siguientes elementos

Objetos en el mundo real Herencia


 Atributos  Simple
 Propiedades  Múltiple
 Métodos Clases abstractas
Abstracción Clases parametrizadas
Clases y Objetos Interfaces
Encapsulamiento Sobre-escritura
Mensajes Sobrecarga
Constructores Polimorfismo
Destructor
Objetos
En el mundo real

Los objetos poseen características que los distinguen entre sí.

Los objetos tienen acciones asociadas a ellos.


Ejemplo: Objeto Perro
www.thmemgallery.com

Características:
Nombre: “TOTO” TOTO:PERRO

Raza: Labrador“” Nombre: TOTO


Raza:Labrador
Color: “Marrón” Color:Marrón
Comer()
….etc… Ladrar()
Dormir()
Acciones:
Ladrar [“Guau Guau”]
Comer [“Chomp Chomp”]
Dormir [“Zzzzzzzz”]
…etc…
Objetos

Atributos
Valor de sus
características

Objetos Métodos
Acciones que
puede realizar

Identidad
Pertenece a una
clase y tiene un
nombre único
Clase

Clase

Una clase
Es una
NO ES UN
DESCRIPCIÓN
OBJETO.
de las
Es solo una
características y
PLANTILLA,
acciones para un
plano o definición
tipo de objetos.
para crear objetos.
Clase

Contiene todas las


características
comunes de
Modelo ese conjunto de
objetos

Plantilla
Clase

Esquema A partir de una clase


se pueden crear
muchos objetos
independientes con
las mismas
características.
Clase : Objeto

Un Objeto
Datos
Funciones

Instancia
De una Combina
clase Lo siguiente
Es Creado
a partir
De Una
clase
Posee
Nombre
único
Instancia

Es la creación o manifestación concreta


de un objeto a partir de su clase

Instancia
(clase
Carros)
Atributos
Representan los datos de los objetos

1 2 3
Son controlados Es importante Se debe
a través de la identificar el seleccionar sólo
declaración de tipo de dato aquellos atributos
variables necesarios para el
modelo planteado
(abstracción)

De Instancia
Se crea una copia por
cada objeto creado
Variables De Clase (Estáticas)
Una sóla variable para todos
los objetos generados
Métodos y Mensajes
Son las acciones que realizan los objetos
y definen su comportamiento

Anatomía de un mensaje

Identidad del receptor


Método que ha de ejecutar
Información especial (argumentos o parámetros)

Ejemplos:
miTelevision.Encender( ) Protocolo
miTelevision.Apagar( ) del Objeto
miTelevision.CambiarCanal( 45 )
miPerro.Comer(“Croquetas”) Es el conjunto de
miEmpleado.Contratar (“Juan”, 3500)
mensajes a los
cuales puede
miFactura.Imprimir( )
responder un
objeto
Mensajes = Comunicación entre objetos

Los objetos realizan acciones


cuando reciben mensajes

Envía orden de
encendido
Oprime botón
de encendido

Mensaje recibido: Encender


Acción realizada: Muestra Imagen

Mensaje recibido: Enciende TV


Acción realizada: envía orden de encendido
Constructores y Destructores

Los objetos ocupan espacio en memoria;


existen en el tiempo y deben crearse
[instanciarse] y destruirse:

Constructor.- Operación que


Crea un objeto y/o inicializa
su estado.

Destructor.- Operación que


libera el estado de un objeto
y/o destruye el propio objeto.
Constructor

Es un método especial de la clase


que sirve para crear objetos,
inicializar atributos y propiedades; No puede: Prototiparse,
Debe declararse publico y llamarse devolver valor, ni
igual que su clase; puede recibir invocarse explícitamente
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();
}
}
Herencia
Capacidad 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.

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.

Los objetos encapsulan lo que


hacen. Ocultan la funcionalidad
interna de sus operaciones, de otros
objetos y del mundo exterior.
Abstracción

Se define como la
capacidad para
examinar algo sin
preocuparse de sus
detalles internos

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 De datos o Funcional
observador.
Polimorfismo
Es 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

Java
Eiffel
C++

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

Bruno López
Add Your Title
Takeyas
Fco. Javier Ceballos Programación
Eciclopedia de Orientada a Objetos
Herbert Schildt en C# .NET.
Microsoft Visual C# http://www.itnuevolar
C# Manual de Ed. Alfaomega
referencia edo.edu.mx/Takeyas
2007 2016
Ed. Mc Graw Hill
2005
Octavio Ulises Pérez Siliceo
LOGO

También podría gustarte