2014
Kira Valarezo AvilĂŠs
PROGRAMACIÓN ORIENTADA A OBJETOS
1
PROGRAMACIÓN ORIENTADA A OBJETOS
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
2
PROGRAMACIÓN ORIENTADA A OBJETOS
3
PROGRAMACIÓN ORIENTADA A OBJETOS
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
4
PROGRAMACIÓN ORIENTADA A OBJETOS
5
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
6
PROGRAMACIÓN ORIENTADA A OBJETOS
7
PROGRAMACIÓN ORIENTADA A OBJETOS
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
8
PROGRAMACIÓN ORIENTADA A OBJETOS
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:
Diseño Orientado A Objetos
Abstracción
Ocultamiento de la Información
Modularidad
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
9
PROGRAMACIÓN ORIENTADA A OBJETOS
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
10
PROGRAMACIÓN ORIENTADA A OBJETOS
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).
11
PROGRAMACIÓN ORIENTADA A OBJETOS
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
Ad Hoc
Paramétrico
Overloading
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
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
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
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.
12
PROGRAMACIÓN ORIENTADA A OBJETOS
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
13
PROGRAMACIÓN ORIENTADA A OBJETOS
TIPOS DE OBJETOS
Objetos reales Objeto ideales no son perceptibles.
•Objeto físico:Son objetos extremamente perceptibles ejemplo (vista, olfato, gusto, oído) •Objetos psíquicos: Son internamente perceptibles. Ejemplo: dolor, sentimiento, imágenes.
•Relaciones o asociaciones entre objetos •Pensamientos •Matemáticos, lógicos, etc.
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:
14
PROGRAMACIÓN ORIENTADA A OBJETOS 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-programacionmas-usados-para-2014/
15
PROGRAMACIÓN ORIENTADA A OBJETOS
16
PROGRAMACIÓN ORIENTADA A OBJETOS
LINKOGRAFÍA http://es.wikipedia.org/wiki/Anexo:Lenguajes_de_programaci%C3%B3n http://blog.uchceu.es/informatica/ranking-de-lenguajes-de-programacion-masusados-para-2014/
17