2014
Introducción a la Programación Orientada a Objetos Descripción de sus características, importancia y aplicaciones En este documento podemos encontrar un breve análisis sobre la programación orientada a objetos
Jenny Adame 4to Semestre 23/11/2014
Tabla de contenidos Contenido Tabla de contenidos ................................................................................................................ 1 Introducción ............................................................................................................................ 3 Desarrollo ................................................................................................................................ 4 Programación Orientada a Objetos ...................................................................................... 4 OBJETO ................................................................................................................................ 5 Identidad de un objeto..................................................................................................... 5 Tipos de objetos............................................................................................................... 6 Un objeto posee (Booch): .................................................................................................... 6 Un objeto posee Estado ................................................................................................... 7 Un objeto posee Comportamiento ................................................................................... 7 ¿QUÉ ES UNA CLASE?........................................................................................................... 7 Declaración de una clase y creación de un objeto............................................................. 8 Sintaxis para crear clases:................................................................................................. 9 PILARES DE LA ORIENTACIÓN A OBJETOS ............................................................................. 9 Abstracción. ..................................................................................................................... 9 Encapsulamiento. .......................................................................................................... 10
Herencia. ....................................................................................................................... 10 Polimorfismo. ................................................................................................................ 10 Conclusi贸n ............................................................................................................................. 12 Bibliograf铆a ............................................................................................................................ 13
Introducción
El diseño orientado por objetos (POO), crea una representación del dominio del problema en el mundo real y lo transforma en un dominio de soluciones que es el software. La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos
Desarrollo Programación Orientada a Objetos “Un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada una de las cuales representan una instancia de alguna clase, y cuyas clases son todas miembros de una jerarquía de clases unidas mediante relaciones de herencia” Booch. El lenguaje PHP tiene la característica de permitir programar con las siguientes sig metodologías:
Programación Lineal:
•Es Es cuando desarrollamos todo el código disponiendo instrucciones PHP alternando con el HTML de la página.
Programación Estructurada:
•Es 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:
•Programación Programación Orientada a Objetos: Es cuando planteamos clases y definimos objetos de las mismas
OBJETO
Informalmente, un objeto representa una entidad del mundo real
Entidades Físicas (Ej.: Vehículo, Casa, Producto)
Entidades Conceptuales (Ej.: Proceso Químico, Transacción Bancaria)
Entidades de Software (Ej.: Lista Enlazada, Interfaz Gráfica)
Identidad de un objeto Cada objeto tiene su propia identidad .Dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idénticos.
Tipos de objetos
Objetos reales
Objeto físico: Son objetos extremamente perceptibles ejemplo(vista, olfato)
Objetos psíquicos: Son internamente perceptibles. Ejemplo: dolor
Objeto ideales no son perceptibles Relaciones o asociaciones entre objetos
Pensamientos Matemáticos, lógicos, etc.
¿Qué es un objeto en programación? “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
Un objeto posee Estado
Lo que el objeto sabe
El estado de un objeto es una de las posibles condiciones en que el objeto puede existir El estado de un objeto es implementado por un conjunto de propiedades (atributos), además de las conexiones que puede tener con otros objetos
Un objeto posee Comportamiento mportamiento
Lo que el objeto puede hacer
Determina cómo éste actúa y reacciona frente a las peticiones de otros objetos. Se implementa mediante métodos. métodos
¿QUÉ ES UNA CLASE?
Una descripción de un grupo de objetos con: •atributos •operaciones •relaciones
Una abstracción que •Enfatiza las características relevantes •Suprime otras características
Un objeto •es una instancia de • una clase
Ejemplo de una Clase Clase: Curso Estado (Atributos)
Comportamiento (Métodos)
Nombre
Agregar un Alumno
Ubicación
Borrar un Alumno
Días Ofrecidos
Entregar un Listado del Curso
Horario de Inicio
Determinar si está Completo
Horario de Término
es un molde del que luego se pueden crear múltiples objetos
Una clase
se basa en la programación de clases
Una clase
La POO
Declaración de una clase y creación de un objeto.
es una plantilla (molde), que define atributos (lo que conocemos como variables) y métodos (lo que conocemos como funciones).
La clase define los atributos y métodos comunes a los objetos de ese tipo Debemos crear una clase antes de poder crear objetos
Sintaxis para crear clases: class [Nombre de la Clase] { [atributos] [métodos] }
PILARES DE LA ORIENTACIÓN A OBJETOS
Abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real.
La abstracción es clave en el proceso de análisis y diseño orientado a objetos
ya que mediante ella podemos llegar a armar un conjunto de clases que
permitan modelar la realidad o el problema que se quiere atacar.
Encapsulamiento. Significa reunir a todos los elementos que pueden considerarse pertenecient pertenecientes es 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 (superclase). superclase).
Polimorfismo. Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento iento (método). El polimorfismo se puede obtener a partir de 2 formas, estas son: por sobrecarga y por sobre escritura.
Polimorfismo por sobrecarga
El polimorfismo por sobre escritura
• podemos utilizar el mismo nombre del método cuantas veces sea necesario pero con la diferencia de que sus parámetros(firmas del método)difieran una de las otras.
• se da más en el ámbito de la herencia, ya que cuando una clase hereda de una clase base (superclase),esta(clase hija) puede redefinir el comportamiento de algún método que esté definido en la superclase.
Conclusión •
Identidad, clasificación, polimorfismo y herencia caracterizan a los lenguajes orientados a objetos.
•
En la Programación Orientada a Objetos los programas son representados por un conjunto de objetos que interactúan. Un objeto engloba datos y operaciones sobre estos datos.
•
La Programación Orientada a Objetos constituye una buena opción a la hora de resolver un problema, sobre todo cuando éste es muy extenso. En este enfoque de programación, se facilita evitar la repetición de código, no sólo a través de la creación de clases que hereden propiedades y métodos de otras, sino además que el código es reutilizable por sistemas posteriores que tengan alguna similitud con los ya creados.
Bibliografía Este material fue elaborado con información tomada de:
http://www.etnassoft.com/biblioteca/introduccion-a-la-programacion-orientadaa-objetos-con-java/ http://c-sharp-passion.blogspot.com/2010/04/conceptos-sobre-el-paradigmaorientado.html CARMONA, Rhadamés. “El Enfoque Orientado a Objetos”. Guía para estudiantes de Algoritmos y Programación. UCV.2004.”” TEJENERIA, Martín Analista de Sistemas” Programación Orientada a Objetos (OOP, Object Oriented Programming)” http://www.elrinconcito.com/articulos/POO/POO.htm