Está en la página 1de 10

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental Politécnica
de la Fuerza Armada
Núcleo Nueva Esparta – Sede Juan Griego
6to semestre – Ingeniería de Sistemas
Asignatura: Lenguajes de Programación III

Ensayo Analítico:
Programación Orientada a Objetos

Realizado por:
Dilan Alarza
C.I: 27.125.748

Juan Griego, abril del 2020.


Introducción

Hoy en día uno de los campos más cotizados dentro de la industria y en el

ámbito académico, es la orientación a objetos. La orientación a objetos promete

progresos de profunda gravedad en la forma

de diseño, desarrollo y mantenimiento del software, brindando una salida a

largo plazo a los inconvenientes y preocupaciones que han coexistido desde el

comienzo en el desarrollo de software.

Un lenguaje orientado a objetos ataca ciertos problemas. Tiene tres

características básicas: debe estar basado en objetos, basado en clases y capaz

de tener herencia de clases.

El concepto de programación orientada a objetos (OOP), se basa en la idea

natural de la existencia de un mundo lleno de objetos y que la resolución del

problema se realiza en términos de objetos, un lenguaje se dice que está basado

en objetos si soporta objetos como una característica fundamental del mismo.

Podemos definir un objeto como un conjunto complejo

de datos y programas que poseen estructura y forman parte de una

organización.

Ya habiendo mencionado lo anterior, presentaremos una apreciación más

profunda del tema.


Objeto:

Características de los objetos

Los objetos tienen unas características fundamentales que los distinguen:

• Identidad. Es la característica que permite diferenciar un objeto de otro.

De esta manera, aunque dos objetos sean exactamente iguales en sus

atributos, son distintos entre sí. Puede ser una dirección de memoria, el

nombre del objeto o cualquier otro elemento que utilice el lenguaje para

distinguirlos. Por ejemplo, dos vehículos que hayan salido de la misma

cadena de fabricación y sean iguales aparentemente, son distintos porque

tienen un código que los identifica.

• Estado. El estado de un objeto viene determinado por una serie de

parámetros o atributos que lo describen, y los valores de éstos. Por

ejemplo, si tenemos un objeto Coche, el estado estaría definido por

atributos como Marca, Modelo, Color, Cilindrada, etc.

• Comportamiento. Son las acciones que se pueden realizar sobre el

objeto. En otras palabras, son los métodos o procedimientos que realiza

el objeto. Siguiendo con el ejemplo del objeto “Coche”, el comportamiento

serían acciones como: arrancar(), parar(), acelerar(), frenar(), etc.

Diferencia entre objeto y clase

• Una clase es una estructura de programación definida por el usuario

mientras que un objeto es un tipo de dato que surge a partir de la clase

de programación.
• Las clases se crean en el proceso de desarrollo mientras que los objetos

se crean en tiempo de ejecución, es decir cuando el programa está

corriendo.

• En una clase se definen datos comunes a todos los objetos, luego los

objetos son creados utilizando esa información y adoptan un estado

particular que puede ir cambiando en el transcurso de su vida. Esto quiere

decir que podemos tener distintos objetos que provienen de la misma

clase, pero difieren en sus estados.

Instanciación de Objetos

Se llama instancia a todo objeto que derive de algún otro. De esta forma,

todos los objetos son instancias de algún otro, menos la clase Object que es la

madre de toda.

Programación orientada a objetos en PHP

La programación orientada a objetos en PHP, intimida a muchos

desarrolladores porque introduce una nueva sintaxis y, a simple vista, parece ser

mucho más complejo que el simple código de procedimiento o en línea. Sin

embargo, luego de una inspección más cercana, OOP es realmente un enfoque

de programación muy simple y, en última instancia, más simple.

Estructura interna de un objeto


La estructura interna de un objeto se define por un conjunto de atributos, el

estado viene dado por los valores que toma esos atributos en un instante de

tiempo.

La estructura interna de un objeto consta de dos componentes básicos los

cuales son:

• Atributos: Un atributo es una especificación que define una propiedad de

un objeto, elemento o archivo. También puede referirse o establecer el valor

específico para una determinada instancia de los mismos.

• Métodos (operaciones o servicios): Los métodos describen el

comportamiento de los objetos de una clase. Estos representan las

operaciones que se pueden realizar con los objetos de la clase, La

ejecución de un método puede conducir a cambiar el estado del objeto.

Comunicación entre objetos mediante paso de mensajes

Los objetos pueden comunicarse entre sí y coordinarse mediante el envío y

recepción de mensajes: un objeto envía un mensaje que puede ser recibido por

cualquier otro objeto o por el escenario. Uno o más objetos pueden reaccionar a

la recepción de un mensaje, ejecutando un programa.

Paso de mensajes

En ciencias de la computación, el paso de mensajes es un paradigma

de programación ampliamente usado en el software moderno.


Es uno de los conceptos clave en modelos de programación

concurrente, programación distribuida y programación orientada a objetos.

Representación gráfica de Clase y Objeto

Un Diagrama de Clase es una representación gráfica de una clase, en el que

se especifica el nombre de la clase, sus atributos y métodos; básicamente es

uno de los elementos de un Diagrama de Clases en el que se muestran además

las relaciones entre las clases.

Un Diagrama de Clase, facilita en gran manera las acciones al momento de

implementar, para a través de la observación reconocer la forma de acceso a

cada uno de los elementos de la clase, es el diagrama más sencillo que deberá

realizarse al incursionar en la Programación Orientada a Objetos.

El siguiente gráfico es una representación de un diagrama de clase:

Clase: cliente
Nombre
nombre caracter

ci numerico
Atributos
correo caracter

Ver()

Comprar() Operaciones
Clases abstractas e Interfaces:

Clases abstractas

Una clase abstracta es una clase que no se puede instanciar, se usa

únicamente para definir clases.

Ventajas

Como ventajas de uso de las clases abstractas encontramos que permiten al

programador decidir qué clases van a poder ser instanciables (se van a poder

crear objetos de ellas) y cuáles no (es decir, van a servir sólo para hacer de

soporte para programar nuevas clases por herencia).

Por otra parte, los métodos abstractos nos permiten declarar métodos sin

tener que definirlos, y de este modo “enriquecer” la parte visible (“public”,

“protected” o “package”) de una clase, dotándola de más métodos (que no es

necesario definir hasta más adelante).

Reutilización de código

La reutilización de código se refiere al comportamiento y a las técnicas que

garantizan que una parte o la totalidad de un programa informático existente se

pueda emplear en la construcción de otro programa. De esta forma se aprovecha

el trabajo anterior, se economiza tiempo, y se reduce la redundancia.

Métodos Abstractos
Un método abstracto es uno que, más que proveer un servicio representa un

servicio o categoría. La idea es que al definir una clase base abstracta se indica

un conjunto de métodos que deberían estar definidos en todas las clases que

heredan de la clase base abstracta. Es una declaración que indica la necesidad

de definir su funcionalidad en las clases descendientes, pero que no se define

en la clase base.

Relación entre polimorfismo y métodos abstractos

Para poder hacer uso de métodos abstractos, es estrictamente necesaria la

presencia de polimorfismo de métodos, o, lo que es lo mismo, de enlazado

dinámico de los mismos. Imaginemos que no disponemos de enlazado dinámico

(es decir, en enlazado en nuestro compilador es estático, y en tiempo de

compilación a cada objeto se le asignan las definiciones de los métodos de los

que hará uso).

Sintaxis de Métodos y clases abstracta en PHP.

Definiendo las propiedades y métodos de una Clase en PHP

como static podremos acceder a ellos sin necesidad de crear una instancia de la

misma (sin tener que crear un Objeto).

Para acceder a los miembros de una Clase usaremos las siguientes palabras

reservadas:

• self: acceder a las propiedades definidas como const o static en la propia

Clase, así como a sus métodos (aunque no sean de tipo static).

• parent: acceder a las propiedades definidas como const o static de la

Clase padre, así como a sus métodos (aunque no sean de tipo static).
NOTA: de usarse con el nombre de la Clase se devolverá un mensaje de

aviso (warning) si la opción de configuración E_STRICT en PHP se

encuentra habilitada.

• $this: usado para acceder a los métodos y propiedades no estáticos de

la propia Clase o de su Clase Padre, siendo usado tanto desde una Clase

como desde un Objeto.


Conclusión

Para comprender cómo funciona el paradigma de la programación orientada

a objetos es necesario ver un programa como una colección de objetos que

interactúan entre sí enviándose mensajes y cambiando su estado durante la

ejecución.

En la P.O.O un objeto no es un dato simple, tiene contenido en su interior un

gran número de componentes muy bien estructurados, ese objeto no es un ente

aislado, sino que forma parte de una organización jerárquica o de otro tipo.

Resolver un problema bajo el paradigma de la programación orientada a

objetos implica determinar y caracterizar los diferentes objetos que intervienen

en el problema, definir sus propiedades y métodos y ponerlos a interactuar.

También podría gustarte