Post on 06-Apr-2016
description
22-11-2014
COMPECTOS - CARACTERISTICAS | Estefanía Sánchez
UNIVERSIDAD TÉCNICA DE AMBATO INTRODUCCIÓN A AL PROGRAMACIÓN ORIENTADA A OBJETOS
Índice INTRODUCCIÓN....................................................................................................................................2
DESARROLLO..............................................................................................................................................3
INTRODUCCIÓN AL DISEÑO ORIENTADO POR OBJETOS...............................................3
INTRODUCCIÓN AL DISEÑO POO.......................................................................................4
MODELO DE UNA TAREA TÍPICA DE PROGRAMACIÓN..............................................4
DISEÑO ORIENTADO POR OBJETO.....................................................................................5
QUÉ ES LA ORIENTACIÓN POR OBJETO..........................................................................6
QUÉ ES EL DESARROLLO ORIENTADO POR OBJETOS................................................6
CONSTRUCTOS BÁSICOS DE LA PROGRAMACIÓN POO.............................................7
¿Qué es un Objeto?.................................................................................................................................8
Polimorfismo........................................................................................................................................10
Herencia................................................................................................................................................11
PROGRAMACIÓN ORIENTADA A OBJETOS UTILIZANDO COMO LENGUAJE EL PHP 5...................................................................................................................................................13
CONCEPTOS BÁSICOS...........................................................................................................14
DECLARACIÓN DE UNA CLASE Y CREACIÓN DE UN OBJETO.................................14
SINTAXIS PARA CREAR CLASES.......................................................................................15
LA PROGRAMACIÓN ORIENTADA A OBJETOS.............................................................15
¿QUÉ ES UN OBJETO?...........................................................................................................16
¿QUÉ ES UNA CLASE?...........................................................................................................18
PILARES DE LA ORIENTACIÓN A OBJETOS..................................................................19
CONCLUSIÓN............................................................................................................................................21
BIBLIOGRAFÍA...........................................................................................................................................22
Página 1
INTRODUCCIÓN
La programación orientada a objetos es una “filosofía”, un modelo de programación, con
su teoría y su metodología, que conviene conocer y estudiar antes de nada. Un lenguaje
orientado a objetos es un lenguaje de programación que permite el diseño de aplicaciones
orientadas a objetos. Dicho esto, lo normal es que toda persona que vaya a desarrollar
aplicaciones orientadas a objetos aprenda primero la “filosofía” (o adquiera la forma de
pensar) y después el lenguaje, porque “filosofía” sólo hay una y lenguajes muchos. En este
documento veremos brevemente los conceptos básicos de la programación orientada a
objetos desde un punto de vista global, sin particularizar para ningún lenguaje de
programación específico.
DESARROLLOPágina 2
INTRODUCCIÓN AL DISEÑO ORIENTADO POR OBJETOS
El diseño orientado por objetos (DOO), como otra metodología de diseños orientados a la
información crean una representación del dominio del problema en el mundo real y lo
transforma en un dominio de soluciones que es el software.
INTRODUCCIÓN AL DISEÑO POO
MODELO DE UNA TAREA TÍPICA DE PROGRAMACIÓN
INTRODUCCIÓN AL DISEÑO ORIENTADO
POR OBJETOS
Crea una representación
del dominioProblema en el
mundo real
Transforma en un dominio
Soluciones que es el software
Programación orientada a
objetos
Que permite el diseño de aplicaciones orientadas a
objetos
Un modelo de programaciónFilosofía
Espacio del mundo realPágina 3
DISEÑO ORIENTADO POR OBJETO
Objetos reales y actividades
Objetos reales (cambio de
estado)
Objetos abstractos y operaciones en el
lenguaje de programación
Datos e información
Problema Modelo
Algoritmo del mundo real
Resultado
Espacio del programaRepresentar mediante
abstracción
Algoritmo
Programador UsuarioIntérprete
Página 4
La naturaleza única del diseño orientado por objetos se debe a su habilidad para construir
basándose en tres conceptos importantes del diseño del software:
QUÉ ES LA ORIENTACIÓN POR OBJETO
QUÉ ES EL DESARROLLO ORIENTADO POR OBJETOS
Astracción
Ocultamiento de la informacción
Modularidad
Orientación por objeto
Significa que organizaremos el software como una colección de objetos discretos que incorporan tanto estructuras de datos como procedimientos.
Programación convencional
En la cual la estructura de datos y el comportamiento están solo aproximadamente conectados.
Página 5
CONSTRUCTOS BÁSICOS DE LA PROGRAMACIÓN POO
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.
CON
STRU
CTO
S BÁ
SICO
S DE
LA
PRO
GRA
MAC
IÓN
PO
O
Objeto
Identidad del objeto
Clase
Métodos
Polimorfismo
Herencia
Encadenamiento dinámico
Página 6
¿Qué es un Objeto?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.
Que se puede
considerar como
objeto?
Persona
Equipo Hardwa
re
Materiales
Informa-ción
Software
Procesos
Procedi-mientos
Objeto Físico:Horno
Operaciones asociadas: Encendido/Apagado/Cargado/Descargado
Objeto Abstracto: Cola
Operaciones: Agregar/Eliminar/Verificar vacía/Verificar si llena/Primero cola/Siguiente cola/
Página 7
Componentes para la construcción de Software de un objeto.
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.
Notación para representar una clase.
Una clase se representa por una caja la cual puede tener 3 regiones.
Tipos de objetos
Objetos reales
Objeto físicoSon objetos extremamente perceptibles ejemplo(vista,
olfato, gusto, oído)
Objetos psíquicosSon internamente perceptibles.
Ejemplo: dolor, sentimiento, imágenes
Objeto ideales no son perceptibles
Relaciones o asociaciones entre
objetos
Pensamientos
Matemáticos, lógicos, etc
La primera región contiene el nombre de
la clase.
La tercera región contiene los nombres
de las operaciones
La segunda región contiene la lista de
atributos, cada nombre de atributo puede estar seguido
por detalles opcionales
Página 8
PolimorfismoPolimorfismo significa que la misma operación puede comportarse diferentemente sobre
distintas clases. Por ejemplo, la operación "mover" ejemplo puede comportarse
diferentemente sobre una clase llamada Ventana y una clase llamada Piezas_ajedrez.
Operaciones ó métodos
puede ser aplicada sobre los
objetos en una clase
Cada operación tiene un objeto destino con un
argumento implícito
Página 9
Herencia La herencia consiste en el compartir atributos y métodos entre clases basándose en una
relación jerárquica.
Se obtiene cuando una función trabaja uniformemente sobre un rango de tiposesos tipos normalmente exhiben una estructura común y puede comportarse de manera distinta para cada tipo.
Polimorfismo Paramétrico
Es un polimorfismo utilizado por modelos de subtipos y herenEn este tipo de polimorfismo un objeto puede pertenecer a clases diferentes que no necesariamente son disjuntas.
Polimorfismo de Inclusión
En este caso el mismo nombre se utiliza para denotar diferentes funcionescontexto se utiliza para decidir cuál función se debería ejecutar para una invocación particular del nombre.
Polimorfismo por Overloading
Es una operación semántica que convierte argumentos a los tipos esperado por una funciónLa coerción puede estar dada estáticamente, insertándose automáticamente entre argumentos y funciones a tiempo de compilación.
Polimorfismo por Coerción
ELEMENTOS CAPACES DE SER HEREDADOS
Herencia de Comportamiento
( herencia de métodos).
Herencia Estructural
Página 10
Definición de Herencia Múltiple: Una clase puede heredar rasgos de más de una superclase. Una clase con más de una superclase es llamada clase junta. Un rasgo de una clase ancestro que se encuentra más de una vez a lo largo de una ruta solo se hereda una vez.
Página 11
PROGRAMACIÓN ORIENTADA A OBJETOS UTILIZANDO COMO LENGUAJE EL PHP 5
El lenguaje PHP tiene la característica de permitir programar con las siguientes
metodologías.
CARACTERISTICAS DEL LENGUAJE PHP
Programación Lineal
Es cuando desarrollamos todo el código disponiendo
instrucciones PHP alternando con el HTML de
la página.
Programación Estructurada
Es cuando planteamos funciones que agrupan
actividades a desarrollar y luego dentro de la página
llamamos a dichas funciones
Programación Orientada a
Objetos
Es cuando planteamos clases y definimos
objetos de las mismas.
Página 12
CONCEPTOS BÁSICOS
DECLARACIÓN DE UNA CLASE Y CREACIÓN DE UN OBJETO
Un objeto es una entidad independiente con sus
propios datos y programación
Las ventanas, menús, carpetas de archivos pueden
ser identificados como objetos
El motor de un auto también es considerado un objeto
En este caso, sus datos (atributos) describen sus
características físicas)
Programación (métodos) describen el funcionamiento interno y su interrelación con
otras partes del automóvil (también objetos).
SE BASA EN LA PROGRAMACIÓN DE
CLASES
Es un molde del que luego se pueden crear múltiples
objetos
Es una plantilla (molde), define atributos ,
variables y métodos, funciones
Clase define los atributos y métodos
Al crear un objeto de una clase, se dice que se crea
una instancia de la clase o un objeto propiamente
dicho.
Página 13
SINTAXIS PARA CREAR CLASES
Siempre conviene buscar un nombre de clase lo más próximo a lo que representa. La
palabra clave para declarar la clase es class, seguidamente el nombre de la clase y luego
encerramos entre llaves de apertura y cerrado todos sus atributos(variable) y
métodos(funciones).
LA PROGRAMACIÓN ORIENTADA A OBJETOS
[métodos] } [atributos] [Nombre de la Clase] {
Sintaxis básica para
declarar una clase
¿POR QUÉ ORIENTACIÓN A OBJETOS (OO)?
Se parece más al mundo real
Permite representar modelos complejos
Muy apropiada para aplicaciones de
negocios
Las nuevas plataformas de
desarrollo la han adoptado
(Java / .NET)
Página 14
¿QUÉ ES UN OBJETO?
¿Qué es un Objeto?
Informalmente, un objeto representa una
entidad del mundo real
Entidades Físicas
Entidades Conceptuales
Entidades de Software
Definición Formal (Rumbaugh)
“Un objeto es un concepto, abstracción
o cosa con un significado y límites
claros en el problema en cuestión”
Un objeto posee (Booch)
Estado
Comportamiento
Identidad
Página 15
UN OBJETO
Estado
El estado de un objeto es una de las posibles condiciones en que el
objeto puede existir
El estado normalmente cambia en el transcurso del tiempo
El estado de un objeto es implementado por un conjunto
de propiedades (atributos), además de las conexiones que puede tener con otros objetos
Comportamiento
El comportamiento de un objeto determina cómo éste actúa y
reacciona frente a las peticiones de otros objetos
Es modelado por un conjunto de mensajes a los que el objeto
puede responder (operaciones que puede realizar)
Se implementa mediante métodos
posée
Página 16
¿QUÉ ES UNA CLASE?
¿Qué es una Clase?
Una clase es una descripción de un
grupo de objetos con:
Propiedades en común (atributos)
Comportamiento similar (operaciones)
La misma forma de relacionarse con otros
objetos (relaciones)
Una semántica en común (significan lo
mismo)
Una clase es una abstracción que:
Enfatiza las características
relevantes
Suprime otras características (simplificación)
Un objeto es una instancia de una clase
Modificadores de Acceso
Permiten definir el nivel de acceso (visibilidad) de los miembros (atributos o métodos) de una clase
Publico
Privado
Existen otros dos modificadores para propósitos específicos (Paquete, Protegido)
Página 17
PILARES DE LA ORIENTACIÓN A OBJETOS
Abstracción
Abstracción
Herencia
Encapsulamiento
Polimorfismo
Abst
racc
ión
Ignorancia Selectiva
La abstracción nos ayuda a trabajar con cosas complejas
Se enfoca en lo importante
Ignora lo que no es importante (simplifica)
Una clase es una abstracción en la que:
Se enfatizan las características relevantes
Se suprimen otras características
Una clase debe capturar una y solo una abstracción clave
Página 18
Herencia
Polimorfismo
HERENCIA
Es una relación entre clases en la cual una clase
comparte la estructura y comportamiento definido
en otra clase
Cada clase que hereda de otra posee:
Los atributos de la clase base además de los propios
Soporta todos o algunos de los métodos de la clase
base
Una subclase hereda de una clase base
Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento
(método) cuya implementación será delegada al objeto correspondiente recién en tiempo de
ejecución
El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así
Página 19
CONCLUSIÓN
La programación orientada a objetos permite la optimización del código generado gracias a
que mediante técnicas de herencia, atributos estáticos entre otros permiten, que el código
sea genérico de manera que sea reutilizable.
Al trabajar con la programación orientada a objetos sea esta desarrollada en otras
plataformas de programación o en lenguaje C, sabemos las formas de lograr un mejor
rendimiento del equipo a controlar y aplicar soluciones sencillas, de manera que sea
fácilmente digeribles para el usuario o destinatario del trabajo final.
Página 20
BIBLIOGRAFÍAhttp://www.luis.izqui.org/resources/ProgOrientadaObjetos.pdf
http://www.cc.uah.es/jlcastillo/POO/media/POOCap3-1.pdf
http://kataix.umag.cl/~ruribe/Utilidades/Introduccion%20a%20la%20Programacion%20Orientada%20a%20Objetos.pdf
Introducción a la programación orientada por objeto (Microsoft PowerPoint)
Introducción 2 POO (Microsoft PowerPoint)
Introducción 3 POO (Microsoft PowerPoint)
Página 21