Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Sesion - 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

PHP – Programación Orientada a Objetos

SESIÓN – 1

Introducción a POO

Desarrollo:

1. Introducción a la Programación Orientada a Objetos (POO)

Los conocimientos explicados en este manual servirán para poner en práctica la POO en cualquier lenguaje
que se pueda llegar a usar.
Su uso se hizo conocido a principios de la década de 1990. En la actualidad, existe una gran variedad de
lenguajes de programación que soportan la orientación a objetos, uno de estos lenguajes es PHP el cual tiene
la característica de permitir programar con esta metodología.
En la duración de este curso se darán a conocer los conceptos básicos, ventajas y desarrollo de esta
metodología, así como también es muy importante analizar los ejercicios implantados en las sesiones, los
cuales podrán modificarlos y tratar de resolver los problemas propuestos en clase.

2. Concepto de Programación Orientada a Objetos (POO)

La Programación Orientada a Objetos (POO) es un patrón o modelo de programación que usa objetos en sus
interacciones, para diseñar aplicaciones y programas informáticos.
Está basada en varias técnicas que incluyen: herencia, cohesión, abstracción, polimorfismo, acoplamiento y
encapsulamiento.
Lo interesante de la POO (programación orientada a objetos) es que proporciona conceptos y herramientas
con las cuales se modela y representa el mundo real tan verídico como sea posible.

3. Características de la Programación Orientada a Objetos (POO)

a. Abstracción
La abstracción consiste en captar las características esenciales de un objeto, así como su
comportamiento.
Por ejemplo, ¿Qué características podemos abstraer de los automóviles? O ¿Qué características
semejantes tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis,
peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán
acelerar, frenar, retroceder, etc.

Instituto Superior Tecnológico "Hipólito Unanue"


PHP – Programación Orientada a Objetos

b. Encapsulamiento
El encapsulamiento consiste en unir en la clase las características y comportamientos (variables y
métodos). Es tener todo esto es una sola entidad.
La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, puesto que se tendrá a
las clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y
es conveniente porque nos interesará conocer qué hace la clase pero no será necesario saber cómo lo
hace.
c. Ocultamiento
Es la capacidad de ocultar los detalles internos del comportamiento de una clase y exponer sólo los
detalles que sean necesarios para el resto del sistema.
El ocultamiento permite 2 cosas: restringir y controlar el uso de la clase. Restringir porque habrá cierto
comportamiento privado de la clase que no podrá ser accedido por otras clases; y controlar porque se
implementa ciertos mecanismos para modificar el estado de nuestra clase y es en estos mecanismos
dónde se permite que algunas condiciones se cumplan.
d. Modularidad
Es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada
una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes
partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al
igual que la encapsulación, los lenguajes soportan la modularidad de diversas formas.
e. Polimorfismo
Se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo
mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico
es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.
Dicho de otra forma, el polimorfismo consiste en conseguir que un objeto de una clase se comporte
como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de
dicha clase o subclases.
Una forma de conseguir objetos polimórficos es mediante el uso de punteros a la superclase. De esta
forma podemos tener dentro de una misma estructura (arrays, listas, pilas, colas, etc.) objetos de
distintas subclases, haciendo que el tipo base de dichas estructuras sea un puntero a la superclase.
f. Herencia
La herencia en la POO es la capacidad que tienen los objetos para heredar todas o algunas de sus estados
(atributos) y comportamiento (métodos) a sus descendientes o herederos, permitiendo así la
reutilización de código lo que en la práctica se traduce en una herramienta muy potente de
programación.

Instituto Superior Tecnológico "Hipólito Unanue"


PHP – Programación Orientada a Objetos

4. Elementos básicos de la Programación Orientada a Objetos (POO)

a. Objeto
El elemento fundamental de la POO es, como su nombre lo indica, el objeto.
Pero ¿Qué es un objeto? Un objeto representa una cosa simple o compleja que puede ser real o
imaginaria y que consta de un estado (atributos) y de un comportamiento (métodos) que a su vez constan
respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución. Por
ejemplo los perros tienen estado (nombre, color, raza, hambriento) y comportamiento (ladrando, buscando,
meneando la cola).
Podemos definir un objeto como una entidad independiente de datos y programas que poseen
estructura y forman parte de una organización.
Esta definición especifica varias propiedades importantes de los objetos. En primer lugar, un objeto no
es un dato simple, sino que contiene en su interior cierto número de componentes bien estructurados.
En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una organización jerárquica
o de otro tipo.
Un objeto es el resultado de la instanciación de una clase, se define como instanciar una clase a la
creación de un objeto, como ocurre en la programación orientada a objetos, o mediante escritura directa
de código y la replicación de otros objetos, como ocurre en la programación basada en prototipos.
b. Clase
La programación orientada a objetos (POO) se basa en la programación de clases; a diferencia de la
programación estructurada, que está centrada en las funciones.
Una clase es una plantilla o molde del que luego se pueden crear múltiples objetos, con similares
características; estos moldes agrupan comportamiento (métodos; lo que conocíamos anteriormente
como funciones) y estados (atributos; lo que anteriormente conocíamos como variables) de los futuros
objetos.
Debemos crear una clase antes de poder crear objetos (instanciar) de esa clase.
Una clase se compone de dos partes:
i. Atributos (denominados, por lo general, datos miembros): esto es, los datos que se refieren al
estado del objeto.
ii. Métodos (denominados, por lo general, funciones miembros): son funciones que pueden aplicarse
a objetos.

Instituto Superior Tecnológico "Hipólito Unanue"


PHP – Programación Orientada a Objetos

Diagrama de la estructura de una clase.

Circulo Nombre de la clase

- Radio: float
Atributos - Perimetro: float
- Area: float

+ calculeArea()
+ calculePerimetro()
Métodos + imprimeArea()
+ imprimePerimetro()
+ lee()

5. Ventajas y desventajas de la Programación Orientada a objetos (POO)

Veamos las ventajas más importantes de la programación orientada a objetos:


a. Reusable. Al diseñar adecuadamente las clases, se pueden usar en distintas partes del programa y en
numerosos proyectos.
b. Sostenible. Debido a la sencillez para abstraer el problema, los programas orientados a objetos son más
sencillos de leer y comprender, pues nos permiten ocultar detalles de implementación dejando visibles
sólo aquellos detalles más relevantes.
c. Modificable. La facilidad de añadir, suprimir o modificar nuevos objetos nos permite hacer cambios de
una forma muy sencilla.
d. Fiable. Al dividir el problema en partes más pequeñas podemos probarlas de manera independiente y
aislar mucho más fácilmente los posibles errores que puedan surgir.
La programación orientada a objetos presenta también algunas desventajas como pueden ser:
a. Cambio en la forma de pensar de la programación tradicional a la orientada a objetos.
b. La ejecución de programas orientados a objetos es más lenta.
c. La necesidad de utilizar bibliotecas de clases obliga a su aprendizaje y entrenamiento.

Instituto Superior Tecnológico "Hipólito Unanue"


PHP – Programación Orientada a Objetos

Práctica en clases

1. Elabore el diagrama de clases de dos objetos


2. Identifique los componentes de las clases creadas

Cuestionario

1. ¿Qué es Programación Orientada a Objetos?


2. ¿Cuáles son las características de la Programación Orientada a objetos?
3. Explique en que consiste la abstracción
4. Explique qué es herencia
5. ¿Qué es un objeto?
6. Enumere 10 objetos reales y 10 imaginarios
7. ¿Qué es una clase?
8. ¿Cuáles son los componentes de una clase?
9. Indique las ventajas y desventajas de la Programación Orientada a Objetos

Instituto Superior Tecnológico "Hipólito Unanue"

También podría gustarte