jueves, 26 de noviembre de 2009

DEFINICIONES

Polimorfismo:
Permite al programador generar componentes reutilizables de alto nivel que puedan adaptarse a diferentes aplicaciones mediante el cambio de sus partes de bajo nivel

Encapsulamiento:
Se dice que es el empaquetado de metodos y atributos dentro de un objeto, mediante una interfaz de mensajes. La clave está precisamente en el envoltorio del objeto.
Como se puede observar de los diagramas, las variables del objeto se localizan en el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en práctica no importantes de otros objetos. Entonces, los detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.
El encapsulamiento de variables y métodos en un componente de software ordenado es, todavía, una simple idea poderosa que provee dos principales beneficios a los desarrolladores de software: El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto en una sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos a continuación. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque lo que nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.


Abstracción :
La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (característica de caja negra). El común denominador en la evolución de los lenguajes de programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso.

Herencia:
En programación orientada al objeto, herencia es una manera de formar nuevo clases (los casos de que se llaman objetos) usando las clases que se han definido ya. Las nuevas clases, conocidas como clases derivadas, asuma el control (o herede) cualidades y comportamiento de las clases preexistentes, se refieren que como clases bajas (o clases del antepasado). Se piensa para ayudar reutilización código existente con poco o nada de modificación.
Herencia proporciona la ayuda para la representación cerca Clasificación en lenguajes de programación. La clasificación es un número de gran alcance del mecanismo de la tratamiento de la información, crucial a aprender humano por medio de la generalización (qué se sabe sobre entidades específicas se aplica a una a dada un grupo más ancho pertenece relación puede ser establecida) y economía cognoscitiva (menos información necesita ser almacenada sobre cada entidad específica, solamente sus particularidades).
Herencia también se llama a veces generalización, porque es-uno las relaciones representan una jerarquía entre las clases de objetos. Por ejemplo, una “fruta” es una generalización de la “manzana”, de la “naranja”, del “mango” y de muchos otros. Uno puede considerar la fruta para ser una abstracción de la manzana, de la naranja, del etc. Inversamente, puesto que las manzanas son fruta (es decir, una manzana es-uno la fruta), las manzanas puede heredar naturalmente todas las características comunes a toda la fruta, tal como ser un envase carnudo para la semilla de una planta.
Una ventaja de la herencia es que los módulos con los interfaces suficientemente similares pueden compartir los muchos del código, reduciendo la complejidad del programa. La herencia por lo tanto tiene otra visión, a dual, llamado polimorfismo, que describe muchos pedazos del código que es controlado por código de control compartido.
La herencia típicamente se logra cualquiera cerca eliminación (el substituir) unos o más métodos expuestos por el antepasado, o agregando nuevos métodos a ésos expuestos por un antepasado.
La herencia compleja, o la herencia usada dentro de un diseño que no sea suficientemente maduro, puede conducir a Problema del yoyo.

No hay comentarios:

Publicar un comentario