PROGRAMACION Y LENGUAJE DE PROGRAMACION ORIENTADO A OBJETOS
Enviado por karlo • 26 de Enero de 2018 • 2.285 Palabras (10 Páginas) • 524 Visitas
...
Una clase es una construcción que se usa como modelo o plantilla para crear objetos. El modelo describe el estado y comportamiento que todos los objetos de la clase comparten. Un objeto de una determinada clase se denomina instancia de la clase.
Una clase por lo general representa un sustantivo, como una persona, lugar o cosa, es el modelo de un concepto dentro de un programa informático.
Variables Miembro de una Clase
Las propiedades o atributos son características de los objetos. Cuando definimos una propiedad especificamos su nombre y su tipo.
Habitualmente las variables miembro son privadas al objeto (principio de ocultación) y su acceso se realiza mediante métodos que realizan comprobaciones adicionales
Métodos de la clase.
Implementan las funcionalidades asociadas al objeto. Los métodos son el equivalente a las funciones en los lenguajes estructurados. Se diferencian de ellos en que es posible acceder a las variables de la clase de forma implícita.
Mensajes.
Normalmente un único objeto por si solo no es funcional, en general un objeto aparece como un componente más de un programa o una aplicación que contiene otros muchos objetos. Es precisamente haciendo uso de esta interacción como los programadores consiguen una funcionalidad de mayor orden y modelar comportamientos mucho mas complejos.
Los objetos de un programa interactúan y se comunican entre ellos por medio de los mensajes. Hablando en términos un poco más técnicos los mensajes son invocaciones a los métodos de los objetos.
Herencia.
La herencia consiste en que una clase puede heredar sus atributos y métodos a varias subclases (La clase que hereda es llamada superclase o clase padre). Esto significa que una subclase a parte de los atributos y métodos propios tiene también los métodos y atributos heredados de la clase padre o superclase. De esta manera se crea una jerarquía de herencia.
El mecanismo de herencia permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente todo su comportamiento, pero además pueden introducir características propias que las diferencian
Polimorfismo.
En programación orientada a objetos el polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.
Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la superclase Animal. La clase Animal tiene el método abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).
Como se mencionó anteriormente, el concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas y tipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.
Abstracción
La abstracción consiste en alejar un elemento de su contexto o del resto de elementos que lo acompañan. En programación el termino se refiere al énfasis ¿Qué hace? Mas que en el ¿Cómo lo hace? (característica caja negra).
La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento. Por ejemplo en el caso de los vehículos ¿Qué características podemos abstraer de los vehículos? O lo que es lo mismo ¿Qué características tienen en común todos los vehículos? Todos tendrán una marca, un modelo, numero de chasis, llantas, ventanas, etc.
En los lenguajes de programación orientada a objetos, el concepto de Clase es la representación y el mecanismo por el cual se gestionan las abstracciones.
Encapsulamiento.
El encapsulamiento consiste en unir en la clase las características y comportamientos, esto es, las variables y métodos. Esto es tener todo en una sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y ocultamiento.
La utilidad del encapsulamiento va por la finalidad de manejar la complejidad, ya que tendremos a las clases como cajas negras donde solo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesa saber lo que hace la clase y no los detalles de cómo lo hace.
Se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.
Ocultamiento.
Es la capacidad de ocultar detalles internos del comportamiento de una clase y exponer solo los detalles necesarios para el resto del sistema.
El ocultamiento permite dos cosas: restringir y controlar el uso de la clase. Restringir porque habrá cierto comportamiento privado de la clase que no podrá ser accedido por otras clases, y controlar porque daremos ciertos mecanismos para modificar el estado de nuestra clase y es en estos mecanismos donde se validaran que algunas condiciones se cumplan. En java el ocultamiento se logra usando las palabras reservadas public, private y protected delante de las variables y métodos.
Sobrecarga.
En programación orientada a objetos la sobrecarga se refiere a la posibilidad de tener dos o más métodos o funciones con el mismo nombre pero con funcionalidad distinta. El compilador usara una u otra dependiendo de los parámetros usados. A esto se llama sobrecarga de funciones.
También existe la sobre carga de operadores que al igual que la sobrecarga de funciones se la da más de una implementación a un operador.
Clases abstractas.
Una clase abstracta es una clase que no se puede instanciar. Se usa únicamente para definir subclases.
Una clase es abstracta en cuanto uno de sus métodos no tiene implementación (En java método abstracto se etiqueta con la palabra reservada abstract)
Una
...