Programación orientada a objetos: conceptos clave POO
1. UNIVERSIDAD INTERAMERICANA DE PANAMÁ
TÉCNICO EN PROGRAMACIÓN Y ANÁLISIS DE SISTEMAS
Jueves, 11 de octubre de 2018
Johny Alberto Valdés Andreve
8-942-2130
TEMA:
Asignación #2
PRESENTADO A:
Profesora Susan Janette Oliva Rivera
Programación Orientada a Objetos
Panamá, República de Panamá
3. La programación orientada a objetos es un paradigma de
programación que viene a innovar la forma de obtener
resultados. Los objetos manipulan los datos de entrada
para la obtención de datos de salida específicos, donde
cada objeto ofrece una funcionalidad especial.
4. Un objeto es una unidad dentro de un programa de
computadores que consta de un estado y de un
comportamiento, que a su vez constan respectivamente de
datos almacenados y de tareas realizables durante el tiempo
de ejecución.
5. Un objeto puede ser creado instanciando una clase, 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.
Estos objetos interactúan unos con otros, en contraposición
a la visión tradicional en la cual un programa es una
colección de subrutinas (funciones o procedimientos), o
simplemente una lista de instrucciones para el computador.
Cada objeto es capaz de recibir mensajes, procesar datos y
enviar mensajes a otros objetos de manera similar a un
servicio.
6. La identidad es la propiedad que permite diferenciar a un
objeto y distinguirse de otros. Generalmente esta propiedad es
tal, que da nombre al objeto. Tomemos por ejemplo el "verde"
como un objeto concreto de una clase color; la propiedad que
da identidad única a este objeto es precisamente su "color"
verde. Tanto es así que para nosotros no tiene sentido usar
otro nombre para el objeto que no sea el valor de la propiedad
que lo identifica.
En programación la identidad de todos los objetos sirve para
comparar si dos objetos son iguales o no. No es raro encontrar
que en muchos lenguajes de programación la identidad de un
objeto esté determinada por la dirección de memoria de la
computadora en la que se encuentra el objeto, pero este
comportamiento puede ser variado redefiniendo la identidad
del objeto a otra propiedad.
7. El comportamiento de un objeto está directamente
relacionado con su funcionalidad y determina las operaciones
que este puede realizar o a las que puede responder ante
mensajes enviados por otros objetos. La funcionalidad de un
objeto está determinada, primariamente, por su
responsabilidad. Una de las ventajas fundamentales de la POO
es la reusabilidad del código; un objeto es más fácil de
reutilizarse en tanto su responsabilidad sea mejor definida y
más concreta.
Una tarea fundamental a la hora de diseñar una aplicación
informática es definir el comportamiento que tendrán los
objetos de las clases involucradas en la aplicación, asociando
la funcionalidad requerida por la aplicación a las clases
adecuadas.
8. El estado de un objeto se refiere al conjunto de atributos y
sus valores en un instante de tiempo dado. El
comportamiento de un objeto puede modificar el estado de
este. Cuando una operación de un objeto modifica su estado
se dice que esta tiene "efecto colateral".
Esto tiene especial importancia en aplicaciones que crean
varios hilos de ejecución. Si un objeto es compartido por
varios hilos y en el transcurso de sus operaciones estas
modifican el estado del objeto, es posible que se deriven
errores del hecho de que alguno de los hilos asuma que el
estado del objeto no cambiará
9. Una clase es una plantilla para la creación de objetos de
datos según un modelo predefinido. Las clases se utilizan
para representar entidades o conceptos. Cada clase es un
modelo que define un conjunto de variables (el estado), y
métodos apropiados para operar con dichos datos (el
comportamiento). Cada objeto creado a partir de la clase
se denomina instancia de la clase.
Las clases son un pilar fundamental de la programación
orientada a objetos. Permiten abstraer los datos y sus
operaciones asociadas al modo de una caja negra. Los
lenguajes de programación que soportan clases difieren
sutilmente en su soporte para diversas características
relacionadas con clases. La mayoría soportan diversas
formas de herencia.
10. C++ está diseñado para la programación orientada a objetos
(POO), y en ese paradigma, todas las entidades que
podemos manejar son objetos. Los punteros en C++ sirven
para señalar objetos, y también para manipularlos.
La OOP tiene tres características básicas que se suelen
presentar como Encapsulación, Polimorfismo y Herencia.
11. es un procedimiento por el cual, los datos y las funciones
se encierran en un contenedor llamado objeto, que
usamos para aislar ambos elementos de la manipulación
exterior y forzar a que esta se haga de un modo
controlado y validado por nosotros mismos. El mecanismo
que C++ utiliza para encapsular estos objetos se llaman
clases.
12. Un interface único, múltiples métodos. Y es algo que reduce
la complejidad de los programas de una forma notable. A
usar las funciones u operadores de diferentes maneras
dependiendo del tipo de los datos, le llamamos polimorfismo
y cuando redefinimos un operador o función para
comportarse de forma diferente con esos datos, decimos que
el operador esta sobrecargado - Por ejemplo en C++ podemos
sumar números enteros o números float con el mismo
símbolo “+”, y nos parece tan normal, pero en realidad los
procedimientos que se aplican son completamente distintos.
13. Es un proceso por el cual un objeto hereda las propiedades y
métodos de otro, sin necesidad de volverlas a definir desde el
principio.
14. He aprendido diversos conceptos que sostienen los cuatro
principios básicos de la POO. Por un lado vimos la parte de la
abstracción de los datos, también cuando implementamos
nuestras clases y las jerarquías , la encapsulación es la que
nos permite la modularidad entre los componentes también
he aprendido sobre la herencia por ultimo el polimorfismo y
la habilidad que nos da el poder interactuar con un objeto de
manera diferente dependiendo del contexto.
Recuerda que en la programación la clave para mejorar es la
práctica constante y la actualización.