Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Características:
Elementos:
- Clase:
Es el elemento base de la programación en el paradigma orientado a objetos. En una
clase de describen un conjunto de datos, métodos, constructores y destructores.
A partir de una clase se pueden instanciar tantos objetos como sean necesarios. Actúa
como si fuera una plantilla a partir de la cual definir y crear objetos.
Su representación en UML (Unified Modeling Language, lenguaje de modelado
estandarizado consistente en diagramas de ayuda al desarrollo del software), consiste en
una caja dividida en tres áreas:
Campo, son elementos que se comportan como una variable propiedad de cada
instancia de una clase. Define un atributo de un objeto.
Dependiendo de la visibilidad que se le quieta dar al campo éste puede ser accedido
como si de una variable se tratase.
Pueden ser de cualquier tipo, incluso de otra clase.
Propiedad, también define un atributo de un objeto. Pero mientras el campo dispone
de un área de almacenamiento directamente accesible, la propiedad no tiene
reservado un espacio en memoria para su almacenamiento. Solo se puede acceder a
su área de almacenamiento por medio de un método creado para ello. Otra forma de
acceso es mediante un campo definido previamente para tal fin.
Se declaran con un nombre representativo del dato que contendrá y los métodos
para su acceso serán nombrados con ese nombre, precedidos de los prefijos get o
set.
Constructor, es un método especial que se usa para instanciar objetos de una clase.
Pueden declararse varios métodos constructor en una clase o no existir ninguno. Si
bien toda clase tiene asociado un método constructor.
Destructor, es un método que se encarga de destruir el objeto creado con el método
constructor. Al igual que con los métodos constructor, pueden existir varios o
ninguno, aunque cada clase dispone de un método destructor por defecto.
Algunos lenguajes pueden no disponer de métodos destructor.
- Objeto:
Es una instancia de una clase determinada. Es el resultado de crear en tiempo de
ejecución un conjunto de datos que se almacenan en memoria, con una estructura como
la descrita en la clase.
Los campos, propiedades y métodos asociados e un objeto pueden estar declarados en
una única clase o en varias, es decir, un objeto puede heredar campos de una clase
ancestra.
Dentro de los objetos podemos hacer dos diferencias según sean simples o compuestos.
En el primer caso estará compuesto por datos primitivos (carácter, dígito, booleano,
etc.) y en el segundo estarán compuestos además por otros objetos.
El hecho de que dos objetos tengan los mismos datos no significa que sean iguales, ya
que cada uno puede tener reservado un espacio diferente en memoria y por tanto ser
independientes. Es similar a decir que dos variables que tengan el mismo valor sean
iguales.
- Encapsulación:
Es la agrupación en un mismo elemento de los datos y las operaciones relacionadas con
ellos, como ocurre en la clase. Los datos encapsulados son ocultados para que
únicamente se pueda acceder a ellos a través de las interfaces definidas.
- Abstracción:
Es un mecanismo de reducción de la complejidad minimizando la información de un
objeto a sus aspectos más relevantes. Es decir se obvian los aspectos insustanciales para
el resultado. Estos aspectos lo único que harían es dificultar el desarrollo.
- Reutilización o reusabilidad:
La POO permite reutilizar de formar ágil el código escrito con anterioridad sin
necesidad de duplicarlo. Ello facilita el desarrollo disminuyendo la posibilidad de
cometer errores y facilitando el mantenimiento. Para logarlos emplea las técnicas de
herencia y composición de objetos.
- Visibilidad:
Contrariamente a la encapsulación y abstracción, la visibilidad establece la forma en
que el objeto será accedió desde los diferentes puntos del programa.
Existen diferente tipos de visibilidad:
- Composición
Representan una asociación obligatoria. Los componentes con dependientes del
compuesto y no tiene sentido en ausencia de éste. Por ello el objeto compuesto debe
hacerse cargo de la destrucción de los componentes cuando es destruido. Se representa
con un rombo con fondo negro.
Polimorfismo
Es la propiedad de los objetos de adoptar diferentes formas en tiempo de ejecución. Está
estrechamente relacionado con la herencia, y junto con ella establece uno de los pilares
de la POO.
Existen diversas formas de polimorfismo: