introducción a al programación orientada a objetos

27
22-11-2014 COMPECTOS - CARACTERISTICAS | Estefanía Sánchez UNIVERSIDA D TÉCNICA DE AMBATO INTRODUCCIÓN A AL PROGRAMACIÓN ORIENTADA A OBJETOS

Upload: estefania-sanchez

Post on 06-Apr-2016

221 views

Category:

Documents


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Introducción a al programación orientada a objetos

22-11-2014

COMPECTOS - CARACTERISTICAS | Estefanía Sánchez

UNIVERSIDAD TÉCNICA DE AMBATO INTRODUCCIÓN A AL PROGRAMACIÓN ORIENTADA A OBJETOS

Page 2: 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

Page 3: Introducción a al programación orientada a objetos

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

Page 4: Introducción a al programación orientada a objetos

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

Page 5: Introducción a al programación orientada a objetos

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

Page 6: Introducción a al programación orientada a objetos

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

Page 7: Introducción a al programación orientada a objetos

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

Page 8: Introducción a al programación orientada a objetos

¿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

Page 9: Introducción a al programación orientada a objetos

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

Page 10: Introducción a al programación orientada a objetos

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

Page 11: Introducción a al programación orientada a objetos

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

Page 12: Introducción a al programación orientada a objetos

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

Page 13: Introducción a al programación orientada a objetos

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

Page 14: Introducción a al programación orientada a objetos

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

Page 15: Introducción a al programación orientada a objetos

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

Page 16: Introducción a al programación orientada a objetos

¿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

Page 17: Introducción a al programación orientada a objetos

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

Page 18: Introducción a al programación orientada a objetos

¿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

Page 19: Introducción a al programación orientada a objetos

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

Page 20: Introducción a al programación orientada a objetos

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

Page 21: Introducción a al programación orientada a objetos

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

Page 22: Introducción a al programación orientada a objetos

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