La programación orientada a objetos es un paradigma de programación que nos muestra una innovación en la forma a través de la cual se logran 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. A mayor profundidad podríamos también decir que la orientación a objetos puede describirse como el conjunto de disciplinas (Ingeniería) que desarrollan y modelizan software que facilita la construcción de sistemas complejos a partir de componente. Este trabajo es un análisis y resumen del tema.
Hoy sabemos que las ventajas de la orientación a objetos son muchas en programación y modelación de datos. Como apuntaba Ledbetter y Cox (1985): La programación orientada a objetos permite una representación más directa del modelo del mundo real en el código. EL resultado es que la transformación radical normal de los requisitos del sistema (definido en términos de usuario) a la especificación del sistema (definido en términos del computador) se reduce considerablemente. La orientación a objetos trata de cumplir las necesidades de los usuarios finales, así como las necesidades propias de los desarrolladores de los productos de software.
Como esta temática es muy interesante y es necesaria desglosarla en partes más pequeña para entenderla en mejor medida. El texto base del cual se hace este análisis y resumen es de ayuda además para seguir esta idea. Con ayuda de imágenes se hace más fácil entender.
Como vemos hay elementos básicos que subsisten desde el emisor y receptor y que con atributos y métodos se van gestando.
Ahora veamos conceptos claves.
Clase: Descripción de un conjunto de objetos que conllevan una estructura y un comportamiento común. Es decir que están unidos por una misma razón. Pero el concepto se amplia y también es un molde o plantilla que indica cómo será un objeto de esa misma clase. Para definir una clase en java se utiliza la palaba reservada ‘class’. La sintaxis de dicha instrucción requiere además de la especificación de un nombre para la clase.
Atributo (estado): es una propiedad que sirve para describir un objeto. Los atributos pueden ser dos clases Tipo Primitivo y Tipo de Dato de Referencia.
- Tipo de dato Primitivo: Corresponde a un tipo de dato predefinido por el Lenguaje. Cuando se define un atributo (o variable) de este tipo, hay que separar un espacio en memoria para guardar su valor. Los tipos de datos Primitivos son:
• byte
• short
• int
• long
• float
• double
• boolean
• char.
- Tipo de dato de Referencia: Corresponde a un objeto de una clase(no obligatoriamente distinta a la definida). En este punto es donde radica gran parte de la importancia, flexibilidad y reutilización del paradigma de orientación a objetos; porque cuando se definen atributos cuyo tipo sea una clase, se amplía el espectro de posibilidades.
Método (Comportamiento): Abstracción de un acción, servicio, comportamiento o tarea que puede ser realizado por un objeto. Generalmente, un método manipula la información registrada en los atributos a través de una o más instrucciones.
En cuanto a representación de la clase hallamos una representación UML que sirve perfectamente como ejemplo de cómo utilizarle. En esta debe ir:
Es de suma importancia llevar a la práctica lo aprendido a través de la codificación en Java se realiza en gran manera.
public class [nombre de la clase]{
[Modificador] [Tipo de dato ] [Identificador]=valor; // Atributo
[Modificador] [Tipo de dato retorna ] [Identificador](
argumentos) // metodo
{
// bloque del metodo
}
}
Llegados a este punto entendemos la utilidad que tienen tanto la representación uml como el código java. Ambas herramientas son muy importantes para nuestra labor y son esenciales para desarrollarnos de mejor manera en nuestro ámbito de conocimiento.
En este ejemplo anterior Clase persona se representa en Diagrama uml de la Clase y codificado en el lenguaje de programación java.
Siguiendo ahora en el plano de los conceptos continuamos ahora con:
Objeto: este es un concepto, abstracción o cosa con límites bien definidos y con significado dentro del problema. Es un concepto muy amplio por ende pueden ser desde cosas concretas hasta cosas abstractas, es decir podría ser desde un carro hasta una idea o pensamiento.
Instancia: es una utilidad de gran ayuda y en Java propicia la creación del objeto y la instancia de la clase de forma conjunta.
Método Constructor: es un método especial, y su definición varia del resto, las peculiaridades son: Un método constructor no puede tener definido ningún tipo de dato de retorno cuando ni siquiera el valor de void es válido. El nombre del método deber ser el mismo nombre de la clase (debe coincidir exactamente con el nombre cuidando hasta el uso de letras mayúscula y minúsculas). El constructor también puede contener argumentos o parámetros, a continuación en la clase Persona tiene los siguientes parámetros cedula, primer apellido, segundo apellido, primer nombre y segundo nombre en el constructor.
Garbage Colector (Recolector de basura de Java): es un mecanismo implícito de gestión de memoria implementado en algunos lenguajes de programación de tipo interpretado o semiinterpretado. Es muy importante pues nos ayuda a facilitar procesos.
Memoria Stack y Heap en Java: Son herramientas que se usan para almacenar variables locales, variables de referencia, parámetros y valores de retorno, resultados parciales. También se utiliza para llevar el control de la invocación y retorno de los métodos.
Como hemos visto en este trabajo la programación orientada a objetos es de suma importancia y tiene gran utilidad en la labor informática. Para resumir sabemos que La POO es un paradigma surgido en los años 1970, que utiliza objetos como elementos fundamentales en la construcción de la solución. Un objeto es una abstracción de algún hecho o ente del mundo real, con atributos que representan sus características o propiedades, y métodos que emulan su comportamiento o actividad. Todas las propiedades y métodos comunes a los objetos se encapsulan o agrupan en clases. Una clase es una plantilla, un prototipo para crear objetos; en general, se dice que cada objeto es una instancia o ejemplar de una clase.
0 Comentarios