Programación Orientada a Objetos

Page 1

DOCENCIA EN INFORMATICA John Cando 23/11/214

Programaci贸n Orientada a Objetos John R. Cando


DOCENCIA EN INFORMATICA John Cando 23/11/214

UNIVERSIDAD TECNICA DE AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACION

Carrera de Docencia en Informática

PROGRAMACION ORIENTADO A OBJETOS Ing. Andrés Morales

John Cando Cuarto Semestre “A”

Noviembre 23 del 2014


DOCENCIA EN INFORMATICA John Cando 23/11/214

INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS Es importante aclarar desde un principio la diferencia que existe entre programación orientada a objetos y un lenguaje orientado a objetos. 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.


DOCENCIA EN INFORMATICA John Cando 23/11/214

Introducción al Diseño O. O.

Crean una representación del dominio del problema en el mundo real y lo transforma en un dominio de soluciones que es el software.

El DOO da como resultado un diseño el cual interconexiona los objetos de datos , y las operaciones de procesamiento

Este encapsulamiento es el paradigma fundamental de la orientación por objetos.


DOCENCIA EN INFORMATICA John Cando 23/11/214

MODELO DE UNA TAREA TÍPICA DE PROGRAMACIÓN E sp a cio d e l mund o re a l Resultado Algorí tmo del mundo real

Objetos reales y actividades

Problema Modelo

Objeto reales (cambio de estado)

E sp a cio d e l p ro g ra ma Representar mediante abstracción Programador

Usuario Interpreta

Programa

Objetos abstractos y operaciones en lenguaje de programación

Algorí tmo

Datos e información Resultado


DOCENCIA EN INFORMATICA John Cando 23/11/214

Diseño Orientado por objeto Se debe a su habilidad para construir basándose en tres conceptos importantes del diseño del software:

Abstracción.

Ocultamiento de la información. Modularidad.

Qué es la orientación por objeto  Significa que organizaremos el software como una colección de objetos discretos que incorporan tanto estructuras de datos como procedimientos.  Esto contrasta con la programación convencional, en la cual las estructuras de datos y el comportamiento están solo aproximadamente conectados.

Qué es el desarrollo Orientado por Objetos  Es una nueva forma de pensar acerca del software basado sobre abstracciones que existen en el mundo real.


DOCENCIA EN INFORMATICA John Cando 23/11/214

Dato 2

Dato 1

Procedimiento 2

Dato 4

Procedimiento 1

Dato 3

Procedimiento 3

Fig. 2 Sistema convencional

Diferencia entre la

M1

Programaci贸n

INVOCA 4

M4

Convencional

DAT O 2 M2 M3

M1 M4

INVOCA 1

DAT O 1 M2 M3 M1 M4

INVOCA 3

DAT O 3 M2 M3

Fig.3 Sistema Orientado por objeto


DOCENCIA EN INFORMATICA John Cando 23/11/214

Constructos básicos de la programación POO

Objeto

Identidad del objeto

Clase

Métodos

Polimorfismo

 Objeto: Un “paquete” de software independiente formado por un conjunto de datos junto con los procedimientos que operan sobre estos datos. Un objeto puede ser real o abstracto.

• Identidad del objeto Cada objeto tiene su propia identidad que lo distingue de los demás objetos. En otras palabras, dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idénticos.

Herencia

Encadenamiento dinámico


DOCENCIA EN INFORMATICA John Cando 23/11/214

• Clase Una clase es la abstracción que describe propiedades importantes para una aplicación. Esta clase de estructura que abarca tantas propiedades como comportamiento es la unidad natural de la abstracción en los sistemas de orientación por objeto y puede ser utilizado para modelar tanto entidades objetos como relaciones entre los objetos. Ejemplo:

• Métodos

Métodos Una operación es una función o transformación que puede ser aplicada sobre los objetos en una clase

Cada operación tiene un objeto destino con un argumento implícito. El comportamiento de la operación depende de la clase destino.


DOCENCIA EN INFORMATICA John Cando 23/11/214

 Polimorfismo Significa que un nombre se puede utilizar para especificar una clase genérica de acciones. Por ejemplo, la operación "mover" ejemplo puede comportarse diferentemente sobre una clase llamada Ventana y una clase llamada Piezas ajedrez.

U nive rsa l

Pa ra mé trico Inclusión

Polimorfismo Ad H oc

Ove rloa ding Coe rción

POLIMORFISMO Paramétrico

Se obtiene cuando una función trabaja uniformemente sobre un rango de tipos.

De Inclusión

Por Overloading

Por Coerción

El contexto se utiliza para decidir cuál función se debería ejecutar para una invocación particular del nombre.

En este tipo de polimorfismo un objeto puede pertenecer a clases diferentes que no necesariamente son disjuntas.

Es una operación semántica que convierte argumentos a los tipos esperado por una función, en una situación que de otra forma resultaría en un tipo de error.


DOCENCIA EN INFORMATICA John Cando 23/11/214

• Herencia Elementos capaces de ser heredados

Consiste en el compartir atributos y métodos entre clases basándose en una relación jerárquica

HERENCIA

EJEMPLO:

Nombre Edad Dirección Sexo

Persona

Cargo Empleado

Estudiante Denominación

Carrera

Profesión Director Secretaría

Año de experiencia

Dependencia

Dependencia Idiomas

• Encadenamiento dinámico

Simplemente, la declaración encadenamiento dinámico significa que el sistema encadenará

una rutina a un selector para un método particular que está implantado sobre un objeto clase.

En efecto, no se tendrían sistemas orientados por objeto sin esa poderosa capacidad.

Herencia Estructural

Herencia de Comportamiento


DOCENCIA EN INFORMATICA John Cando 23/11/214

Programación Orientada a Objetos utilizando como lenguaje el PHP.

CARATERÍSTICAS

Lineal

Es cuando desarrollamos todo el código disponiendo instrucciones PHP alternando con el HTML de la página.

Estructurada

Es cuando planteamos funciones que agrupan actividades a desarrollar

Orientada a Objetos

Es cuando planteamos clases y definimos objetos de las mismas

Declaración de una clase y creación de un objeto.

Se basa en la programación de clases

define los atributos

métodos comunes

Al crear un objeto de una clase, se dice que

a los objetos de ese tipo

es un molde

es una plantilla (molde), que define atributos métodos (lo que conocemos como funciones).

se crea una instancia de la clase o un objeto propiamente dicho.


DOCENCIA EN INFORMATICA John Cando 23/11/214

Ejemplo de Clase Definir un círculo

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. Mediante la técnica aprendida en el presente curso podemos establecer una solución primitiva de un problema real, tan solo con relacionarlo con objetos lógicos que serán usados para el desarrollo del software. Podemos dar a conocer de una forma sencilla los mecanismos que se usan en este nivel de programación, a personas que deseen una explicación rápida y sencilla de lo que es la programación orientada a objetos.


DOCENCIA EN INFORMATICA John Cando 23/11/214 Tenemos los conocimientos necesarios como para enfrentar un problema real y desarrollo en otro lenguaje de programaciรณn, pues concebimos la idea de que el lenguaje C es la base de la programaciรณn. 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 y/o destinatario del trabajo final.


DOCENCIA EN INFORMATICA John Cando 23/11/214

 LINKOGRAFÍA  http://www.sc.ehu.es/sbweb/fisica/cursoJava/fu ndamentos/clases1/clases.htm  http://www.cc.uah.es/jlcastillo/POO/media/POO Cap3-1.pdf  http://www.killerphp.com/tutorials/objectorientedphp/downloads/tutorial_oop_en_php_para_killer php.com.pdf  http://www.nebrija.es/~abustind/Informatica/Met odologiaII/Introduccion.pdf


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.