Concepto de caja negra (programacion orientada a objetos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,84 KB

Que es un Objeto

Un objeto no es más que un conjunto de variables (o datos) y métodos (o funciones) relacionados entre sí. Los objetos en programación se usan para modelar objetos o entidades del mundo real (el objeto hijo, madre, o farmacéutica, por ejemplo). Un objeto es, por tanto, la representación en un programa de un concepto, y contiene toda la información necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos.

Que es una clase

 Normalmente en el mundo real existen varios objetos de un mismo tipo, o como diremos enseguida, de una misma clase.
Por ejemplo, mi bicicleta es una de las muchas bicicletas que existen en el mundo. Usando la terminología de la programación orientada a objetos, diremos que mi bicicleta es una instancia de la clase de objetos conocida como bicicletas. Todas las bicicletas tienen algunos estados o atributos (color, marcha actual, cadencia actual, dos ruedas) y algunos métodos (cambiar de marcha, frenar) en común. Sin embargo, el estado particular de cada bicicleta es independiente del estado de las demás bicicletas. La particularización de estos atributos puede ser diferente. Es decir, una bicicleta podrá ser azul, y otra roja, pero ambas tienen en común el hecho de tener una variable “color”. De este modo podemos definir una plantilla de variables y métodos para todas las bicicletas. Las plantillas para crear objetos son denominadas clases.

Entonces, una clase es una plantilla que define las variables y los métodos que son comunes para todos los objetos de un cierto tipo.

Que es Encapsulamiento

Consiste en reunir estados y métodos dentro de un entorno limitado, en otras palabras realizar encapsulación.

Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema.

Algunos autores confunden este concepto con el principio de ocultación, principalmente por que se suelen emplear conjuntamente a objetos, es decir se denomina encapsulamiento al ocultamiento del estado, de los datos miembros de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.

Se trata de que ninguna parte de un sistema complejo dependa de los detalles internos de otra parte. Es por tanto complementario de la abstracción. La principal forma de conseguir este objetivo es mediante la ocultación de la información. Todos aquellos aspectos de un objeto que no contribuyen a sus características esenciales (estructura e implementación de sus métodos) queda escondido.

Que es Herencia

Es la capacidad de crear nuevas clases basándose en clases previamente definidas, de las que se aprovechan ciertos datos y métodos, se desechan otros y se añaden nuevos. De igual forma es la propiedad que permite a los objetos ser construidos a partir de otros objetos.

Por ejemplo, herencia de la clase D a la clase C, mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en C.

Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y solo puede ser accedidos a través de otros métodos públicos.

Que es Polimorfismo

Se refiere a la posibilidad de definir clases diferentes que tienen métodos o atributos denominados de forma idéntica, a nivel de objetos se puede considerar como aquel que pertenece a distintas clases, pero que se comportan de manera distinta, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizara el comportamiento correspondiente al objeto que se esté usando.

O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.

Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores en C++.

Entradas relacionadas: