Download - Programación Orientada a Objetos (POO)
2014
Kira Valarezo Avilés
PROGRAMACIÓN ORIENTADA A OBJETOS
1
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
PROGRAMACIÓN ORIENTADA A OBJETOS
3
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
PROGRAMACIÓN ORIENTADA A OBJETOS
5
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.
PROGRAMACIÓN ORIENTADA A OBJETOS
7
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
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
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
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).
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.
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
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.
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/
PROGRAMACIÓN ORIENTADA A OBJETOS
16
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/