18
2014 Kira Valarezo Avilés

Programación Orientada a Objetos (POO)

Embed Size (px)

DESCRIPTION

Guía práctico con definiciones claras acerca de la POO

Citation preview

Page 1: Programación Orientada a Objetos (POO)

2014

Kira Valarezo Avilés

Page 2: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

1

Page 3: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

2

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACIÓN

CARRERA DE DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN ORIENTADA A OBJETOS I

CUARTO “A”

KIRA ISABEL VALAREZO AVILÉS

ING. ANDRÉS MORALES

Page 4: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

3

Page 5: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

4

INDICE

CONTENIDO Introducción .......................................................................................................................................6

Programación ....................................................................................................................................8

Programación Lineal: .......................................................................................................................8

Programación Estructurada: ...........................................................................................................8

Programación Orientada a Objetos: ............................................................................................8

Ventajas de la Programación Orientada a Objetos .................................................................9

Diseño Orientado a Objetos ...........................................................................................................9

Orientación por Objeto ...................................................................................................................9

Desarrollo Orientado a Objetos .................................................................................................. 10

Pilares de la Programación Orientada a Objetos ................................................................... 10

Abstracción ..................................................................................................................................... 10

Encapsulamiento ........................................................................................................................... 11

Herencia........................................................................................................................................... 11

Polimorfismo .................................................................................................................................... 12

Clasificación del Polimorfismo: .................................................................................................... 12

Encadenamiento Dinámico ........................................................................................................ 13

Un Objeto ......................................................................................................................................... 13

Identidad de un Objeto ................................................................................................................ 13

Tipos de Objetos ............................................................................................................................. 14

Una Clase......................................................................................................................................... 14

Lenguaje de Programación ......................................................................................................... 14

Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos

que pueden ser llevados a cabo por máquinas como las computadoras. ..................... 14

Listado de Lenguajes de Programación ................................................................................... 14

Linkografía ....................................................................................................................................... 17

Page 6: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

5

Page 7: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

6

INTRODUCCIÓN La presente revista digital está elaborada como material de apoyo

a través de la compilación de información clara y necesaria que

permitirá ampliar y definir los conocimientos de la programación

orientada a objetos.

El objetivo primordial de esta revista es tener a la mano una

herramienta a la cual podamos acudir por conceptos o estructuras

básicas los cuales nos servirán como programadores.

Page 8: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

7

Page 9: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

8

PROGRAMACIÓN

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 que pueden estar dentro del mismo archivo

o en una librería separada.

PROGRAMACIÓN ORIENTADA A

OBJETOS: Es cuando planteamos clases y definimos objetos de las mismas

Page 10: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

9

VENTAJAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS 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)

DISEÑO ORIENTADO A OBJETOS Es el resultado de interconexión de los objetos de datos (elementos

de datos) y las operaciones de procesamiento, de forma tal que

encapsula la información y el procesamiento

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:

ORIENTACIÓN POR OBJETO El término "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 la estructura de datos y el comportamiento están

solo aproximadamente conectados

Diseño Orientado A Objetos

AbstracciónOcultamiento

de la Información

Modularidad

Page 11: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

10

DESARROLLO ORIENTADO A OBJETOS

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.

PILARES DE LA PROGRAMACIÓN

ORIENTADA A OBJETOS

ABSTRACCIÓN 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:

o Se enfatizan las características relevantes

o Se suprimen otras características

Una clase debe capturar una y solo una abstracción clave

Page 12: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

11

ENCAPSULAMIENTO Significa reunir a todos los elementos que pueden considerarse pertenecientes a una

misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los

componentes del sistema

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

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

jerárquica.

Una clase puede definirse ampliamente y redefinirse sucesivamente en subclases más

refinadas.

Cada subclase que se incorpora, hereda todas las propiedades de su superclase y

adiciona sus propias y únicas propiedades

Elementos capaces de ser heredados

Herencia Estructural.

Herencia de Comportamiento (herencia de métodos).

Page 13: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

12

POLIMORFISMO 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

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 del ajedrez.

El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así.

CLASIFICACIÓN DEL POLIMORFISMO:

Universal

Paramétrico

Se obtiene cuando una función trabaja

uniformemente sobre un rango de tipos;

esos tipos normalmente exhiben una estructura común y puede comportarse

de manera distinta para cada tipo

Inclusión

Es un polimorfismo utilizado por modelos

de subtipos y herencia. En este tipo

de polimorfismo un objeto puede

pertenecer a clases diferentes que no

necesariamente son disjuntas

Ad Hoc

Overloading

En este caso el mismo nombre se utiliza para

denotar diferentes funciones, y el

contexto se utiliza para decidir cual

función se debería ejecutar para una

invocación particular del nombre

Coerción

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.

Page 14: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

13

ENCADENAMIENTO DINÁMICO Una de las ventajas que promueve el estilo de programación orientada por objeto es la

característica del encadenamiento dinámico, también llamado encadenamiento

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

capacidad.

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.

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

Estos vendrían a ser:

Persona

Equipo Hardwar e

Materiales

Información

Software

Procesos

Procedimientos

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 y su programación (métodos) describen el

funcionamiento interno y su interrelación con otras partes del automóvil (también

objetos).

IDENTIDAD DE UN 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

Page 15: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

14

TIPOS DE OBJETOS

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

LENGUAJE DE PROGRAMACIÓN Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos

que pueden ser llevados a cabo por máquinas como las computadoras.

Pueden usarse para crear programas que controlen el comportamiento físico y lógico

de una máquina, para expresar algoritmos con precisión, o como modo de

comunicación humana.

LISTADO DE LENGUAJES DE PROGRAMACIÓN Existen un gran número de lenguajes de programación los cuales podemos dar a

conocer a través del siguiente enlace:

•Objeto físico:Son objetos extremamente perceptibles ejemplo (vista, olfato, gusto, oído)

•Objetos psíquicos: Son internamente perceptibles. Ejemplo: dolor, sentimiento, imágenes.

Objetos reales

•Relaciones o asociaciones entre objetos

•Pensamientos

•Matemáticos, lógicos, etc.

Objeto ideales no

son perceptibles.

Page 16: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

15

http://es.wikipedia.org/wiki/Anexo:Lenguajes_de_programaci%C3%B3n

El objetivo de esta lista de lenguajes de programación es nombrar todos los lenguajes

de programación relevantes existentes, tanto los de uso actual como históricos, en

orden alfabético, excepto los dialéctos de BASIC y lenguaje de programación

esotérico

Adicional a ello podemos considerar los lenguajes de programación más utilizados por

los programadores junto a la valoración y el cambio que han tenido estos dos últimos

años.

Fuente: http://blog.uchceu.es/informatica/ranking-de-lenguajes-de-programacion-

mas-usados-para-2014/

Page 17: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

16

Page 18: Programación Orientada a Objetos (POO)

PROGRAMACIÓN ORIENTADA A OBJETOS

17

LINKOGRAFÍA

http://es.wikipedia.org/wiki/Anexo:Lenguajes_de_programaci%C3%B3n

http://blog.uchceu.es/informatica/ranking-de-lenguajes-de-programacion-mas-

usados-para-2014/