Tema 1 - Investigación

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

Programación Orientada a Objetos

Introducción
La Programación Orientada a Objetos (POO) es un paradigma de programación, es decir,
un modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él.
Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para
estructurar un programa de software en piezas simples y reutilizables de planos de código
(clases) para crear instancias individuales de objetos.
Con el paradigma de Programación Orientado a Objetos lo que se busca es dejar de
centrarnos en la lógica pura de los programas, para empezar a pensar en objetos, lo que
constituye la base de este paradigma. Esto nos ayuda muchísimo en sistemas grandes, ya
que en vez de pensar en funciones, pensamos en las relaciones o interacciones de los
diferentes componentes del sistema.
Un programador diseña un programa de software organizando piezas de información y
comportamientos relacionados en una plantilla llamada clase. Luego, se crean objetos
individuales a partir de la plantilla de clase. Todo el programa de software se ejecuta
haciendo que varios objetos interactúen entre sí para crear un programa más grande.

Características
El estado
Está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos
valores concretos (datos).
El comportamiento
Está definido por los procedimientos o métodos con que puede operar dicho objeto, es
decir, qué operaciones se pueden realizar con él.
La identidad
Es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su
identificador (concepto análogo al de identificador de una variable o una constante).
Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros
objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al
poder tener valores bien diferenciados en sus atributos.
Conceptos principales
Clase
Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La
instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas
Una clase se compone por tres partes fundamentales:

Nombre: Contiene el Nombre de la Clase.


Atributos: Los atributos son las características
que tendrán los objetos creados a partir de la
clase. Dicho de otra manera son los datos que
tendrán cada uno de los objetos de la clase.
Métodos: Los métodos son las acciones que
realizarán los objetos de la clase. Generalmente
estas acciones manipulan los datos o atributos
del objeto.

Objeto
Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o
funcionalidad (métodos) los mismos que consecuentemente reaccionan a eventos. Se
corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del
sistema (del programa). Es una instancia a una clase.
Método
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena
tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que
el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto,
o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
Evento
Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un
mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente. También se puede definir como evento, a la reacción que
puede desencadenar un objeto, es decir la acción que genera.
Mensaje
Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con
ciertos parámetros asociados al evento que lo generó.
Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace
los datos visibles desde fuera del objeto y esto se define como sus características
predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.
Estado interno
Es una variable que se declara privada, que puede ser únicamente accedida y alterada por
un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el
objeto (o clase de objetos).
Componentes de un objeto
Atributos, identidad, relaciones y métodos.

Identificación de un objeto
Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus
atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable", no es más que un contenedor
interno del atributo del objeto o de un estado interno, así como la "función" es un
procedimiento interno del método del objeto.

Principios de la Programación Orientada a Objetos


La encapsulación
La encapsulación contiene toda la información importante de un objeto dentro del mismo y
solo expone la información seleccionada al mundo exterior.
Esta propiedad permite asegurar que la información de un objeto esté oculta para el mundo
exterior, agrupando en una Clase las características o atributos que cuentan con un acceso
privado, y los comportamientos o métodos que presentan un acceso público.
La encapsulación de cada objeto es responsable de su propia información y de su propio
estado. La única forma en la que este se puede modificar es mediante los propios métodos
del objeto. Por lo tanto, los atributos internos de un objeto deberían ser inaccesibles desde
fuera, pudiéndose modificar sólo llamando a las funciones correspondientes. Con esto
conseguimos mantener el estado a salvo de usos indebidos o que puedan resultar
inesperados.

La abstracción
La abstracción es cuando el usuario interactúa solo con los atributos y métodos
seleccionados de un objeto, utilizando herramientas simplificadas de alto nivel para acceder
a un objeto complejo.
En la programación orientada a objetos, los programas suelen ser muy grandes y los objetos
se comunican mucho entre sí. El concepto de abstracción facilita el mantenimiento de un
código de gran tamaño, donde a lo largo del tiempo pueden surgir diferentes cambios.
La herencia
La herencia define relaciones jerárquicas entre clases, de forma que atributos y métodos
comunes puedan ser reutilizados. Las clases principales extienden atributos y
comportamientos a las clases secundarias. A través de la definición en una clase de los
atributos y comportamientos básicos, se pueden crear clases secundarias, ampliando así
la funcionalidad de la clase principal y agregando atributos y comportamientos adicionales.
El polimorfismo
El polimorfismo consiste en diseñar objetos para compartir comportamientos, lo que nos
permite procesar objetos de diferentes maneras. Es la capacidad de presentar la misma
interfaz para diferentes formas subyacentes o tipos de datos. Al utilizar la herencia, los
objetos pueden anular los comportamientos principales compartidos, con comportamientos
secundarios específicos. El polimorfismo permite que el mismo método ejecute diferentes
comportamientos de dos formas: anulación de método y sobrecarga de método.

También podría gustarte