Java Programación Orientada a Objetos PDF

Title Java Programación Orientada a Objetos
Course Lenguajes De Programación
Institution Escuela Superior Politécnica de Chimborazo
Pages 3
File Size 226.1 KB
File Type PDF
Total Downloads 31
Total Views 154

Summary

Trabajo en clase, necesario para poder aprender las bases de Programacion....


Description

1

ESCUELA SUPERIOR POLITECNICA CHIMBORAZO

POO EN JAVA: CLASES, OBJETOS Y ENCAPSULACIÓN Jonathan Alcoser, Alex Camacho, Marco Reino, Nina Sinaluisa, Edison Gualle, (6067, 6767, 6786, 6727, 6786) IEEE

Abstract— This document is a guide and introduction to Object Oriented Programming (POO), as well as the construction and management of its classes, objects and encapsulations. The compilation of information and input from the authors aims to help early career programmers to be better and understand in a faster way what it takes to be a programmer in the POO Paradigm.

I. INTRODUCTION

L

a programación orientada a objetos es uno de los paradigmas más usados actualmente en la industria de la tecnología mundial, este famoso paradigma tiene su origen como una evolución de la programación procedural basada en funciones. Pero su evolución tuvo un objetivo. Catalogar y diferenciar el código en base a estructuras jerárquicas dependientes, al estilo de un árbol genealógico, pretendiendo así encapsular y hacer independiente al código, porque si surge algún cambio no afecte al resto de la aplicación. Su organización se da en las estructuras de código llamadas objetos, los mismos que tienen una serie de procedimientos que tiene un fin de resolver alguna actividad ya programada, una de las características es que el procedimiento que tiene un objeto no podrá ser ocupado por otro objeto, sin embargo lo que da vida a los objetos es una clase, esta estructura define que van a tener los objetos, indicando en ellas las propiedades, métodos, su encapsulamiento entre otras propiedades que desee el programador. Pero que es una propiedad y un método? Las propiedades definen los datos o la información del objeto permitiendo modificar y consultar su estado y un método, son las rutinas que definen el comportamiento del objeto. Para dejarlo más claro, esto nos permite sacar de un molde más galletas, de un prototipo más autos deportivos, de un modelo de cédula y dar una identificación a millones de personas. Lo mismo ocurre en POO, a partir de una clase se pueden crear muchos objetos iguales. Hablando de una forma más técnica en POO es, la creación de un objeto a partir de una clase se conoce como instanciación de un objeto.

II. JAVA POO La programación orientada a objetos establece un equilibrio entre la importancia de los procesos y los datos, mostrando un enfoque más cercano al pensamiento del ser humano. Se introduce un aspect novedoso respecto al anterior paradigma: la herencia, facilitando el crecimiento y la mantenibilidad. Las bases de la programación orientada a objetos son: abstracción, encapsulación, modularidad y jerarquización. La abstracción es un proceso mental de extracción de las características esenciales, ignorando los detalles superfluos. Resulta ser muy subjetiva dependiendo del interés del observador, permitiendo abstracciones muy diferentes de la misma realidad[1] La encapsulación es ocultar los detalles que dan soporte a un conjunto de características esenciales de una abstracción. Existirán dos partes, una visible que todos tienen acceso y se aporta la funcionalidad, y una oculta que implementa los detalles internos. La modularidad es descomponer un sistema en un conjunto de partes. Aparecen dos conceptos muy importantes: acoplamiento y cohesión.[2] • El acoplamiento entre dos módulos mide el nivel de asociación entre ellos; nos interesa buscar módulos poco acoplados • La cohesión de un módulo mide el grado de conectividad entre los elementos que los forman; nos interesa buscar una cohesión alta La jerarquía es un proceso de estructuración de varios elementos por niveles. La programación orientada a objetos implementa estos cuatro conceptos con los siguientes elementos: clases y objetos, atributos y estado, métodos y mensajes, herencia y polimorfismo.[1]

III.

CLASES

La introducción a los conceptos orientados a objetos en la lección titulada Conceptos de programación orientada a objetos utilizó una clase de bicicleta como ejemplo, con bicicletas de carreras, bicicletas de montaña y bicicletas

ESCUELA SUPERIOR POLITECNICA CHIMBORAZO tándem como subclases. Aquí hay un ejemplo de código para una posible implementación de una clase Bicicleta, para darle una visión general de una declaración de clase. Las secciones posteriores de esta lección retrocederán y explicarán las declaraciones de clase paso a paso. Por el momento, no te preocupes por los detalles.[3]

2

MountainBike hereda todos los campos y métodos de Bicycle y añade el campo seatHeight y un método para establecerlo (las bicicletas de montaña tienen asientos que se pueden mover hacia arriba y hacia abajo según lo requiera el terreno).[3] IV. OBJETOS Los objetos son representaciones (simples/complejas) (reales/imaginarias) de cosas: reloj, avión, coche. No todo puede ser considerado como un objeto, algunas cosas son simplemente características o atributos de los objetos: color, velocidad, nombre.[4] Recordemos que la clase representa el modelo para crear objetos, pero son los objetos los elementos con los que podemos trabajar. Los objetos ocupan memoria y tiene un estado, que representa el conjunto de valores de sus atributos.[4] Podemos crear todos los objetos que queramos, todos ellos tiene existencia propia, pudiendo evolucionar por caminos diferentes e independientes. Cuando se crea un objeto se debe asociar con una referencia, por lo tanto, el proceso debe tener dos partes: • Declarar una variable que pueda referenciar al objeto en cuestión.[1] • Crear el objeto y asociarlo a la variable. Para crear el objeto, se realiza con la sentencia new, recordar que lleva implícito llamar al método constructor para que inicialice el objeto[1]

Una declaración de clase para una clase MountainBike que es una subclase de Bicycle podría tener este aspecto:

Una vez creado los objetos es posible pasarles mensajes, o invocarles métodos, para solicitar una acción. El objeto establece a que método le corresponde el mensaje recibido. Para enviar un mensaje se realiza con la notación punto. Dependiendo si almacenamos el valor devuelto del método, tenemos dos posibilidades:

La segunda línea es para guardar el valor devuelto por el mensaje. Ponemos a continuación un ejemplo con la clase Punto:

ESCUELA SUPERIOR POLITECNICA CHIMBORAZO

V.

ENCAPSULACION

La encapsulación o encapsulamiento significa reunir en una cierta estructura a todos los elementos que a un cierto nivel de abstracción se pueden considerar pertenecientes a una misma entidad, y es el proceso de agrupamiento de datos y operaciones relacionadas bajo una misma unidad de programación, lo que permite aumentar la cohesión de los componentes del sistema.[5] El encapsulamiento oculta lo que hace un objeto de lo que hacen otros objetos y del mundo exterior por lo que se denomina también ocultación de datos. Un objeto tiene que presentar “una cara” al mundo exterior de modo que se puedan iniciar sus operaciones.[5] Por ejemplo, la televisión tiene un conjunto de botones para encender, apagar y/o cambiar canal. Una lavadora tiene un conjunto de mandos e indicadores que establecen la temperatura, el nivel de agua, etc. Los botones de la televisión y la lavadora constituyen la comunicación con el mundo interior, es decir son las interfaces.[5]

Los atributos privados están contenidos en el interior de la clase ocultos a cualquier otra clase. Ya que los atributos están encapsulados dentro de una clase, se necesitará definir cuáles son las clases que tienen acceso a visualizar y cambiar los atributos. Esta característica se conoce como visibilidad de los atributos. En general se recomienda visibilidad privada o protegida para los atributos.[5]

VII. REFERENCES [1] [2]

[3]

[4] La interfaz de una clase representa un “contrato” de prestación de servicios entre ella y los demás componentes del sistema. De este modo, los clientes solo necesitan conocer los servicios que este ofrece y no como están implementados internamente.[5] Por consiguiente, se puede modificar la implementación de una clase sin afectar a las restantes relacionadas con ella.

VI. REGLAS DE VISIBILIDAD Las reglas de visibilidad complementan o refinan el concepto de encapsulamiento. Los diferentes niveles de visibilidad dependen del lenguaje de programación con el que se trabaje, pero en general siguen el modelo de C++, estos niveles de visibilidad son: • El nivel más fuerte se denomina nivel “privado”; la sección privada de una clase es totalmente invisible para otras clases, solo miembros de la misma clase pueden acceder a atributos localizados en la sección privada. •

Es posible aliviar el nivel de ocultamiento situando algunos atributos en la sección “protegida” de la clase. Estos atributos son visibles tanto para la misma clase como para las clases derivadas de la clase. Para las restantes clases permanecen invisibles.

• El nivel más débil se obtiene situando los atributos en la sección “pública” de la clase con lo cual se hacen visibles a todas las clases.

3

[5]

“Programación Orientada a Objetos con Java Área de Documentación del MIW.” Accessed: May 31, 2021. [Online]. Available: http://miw.eui.upm.es. “(2) (PDF) Java POO | Leslie Ashley Avendaño Lopez - Academia.edu.” https://www.academia.edu/26002810/Java_POO (accessed May 31, 2021). “Classes (The Java TM Tutorials > Learning the Java Language > Classes and Objects).” https://docs.oracle.com/javase/tutorial/java/javaOO/cla sses.html (accessed May 31, 2021). J. V. Román et al., “Programación Orientada a Objetos Programación de Sistemas. ” M. M. Angélica Nakayama C Ing Jorge A Solano Gálvez and M. Alejandro Velázquez Mena, “Guía práctica de estudio 05: Abstracción y Encapsulamiento Elaborado por: Autorizado por.”...


Similar Free PDFs