Está en la página 1de 15

Lima Centro

Ingeniería de Sistemas e Informática

Proyecto de Trabajo de Investigación

JAVA Y LA PROGRAMACION ORIENTADA A OBJETOS

Integrantes

Lizana Rojas, Christian Jonas

Sanchez Quisca, Jerson Robert

Huaman Leon, Diego Aaron

Delgado Lopez, Leonardo Sebastian

Docente

YULIANA JAUREGUI ROSAS

Lima, Perú

2023
INDICE

INDICE..................................................................................................................2

DEFINICIÓN DE JAVA.......................................................................................2

PROCESO DE COMPILACIÓN EN JAVA........................................................3

ARQUITECTURA DEL JDK...............................................................................5

JERARQUIA DE PAQUETES JAVA..................................................................6

PROGRAMACIÓN ORIENTADA A OBJETOS................................................7

PRINCIPIOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.............7

CLASES, OBJETOS Y ENVÍO DE MENSAJES:...............................................9

MODIFICADORES DE ACCESO:....................................................................11

FUENTES:..........................................................................................................13
DEFINICIÓN DE JAVA

Java es un lenguaje de programación mayormente utilizado para encriptar

aplicaciones web. creada por Sun Microsystems en 1995. Ha sido una opción muy

conocida entre los desarrolladores durante más de 20 años y ha evolucionado desde sus

comienzos hasta impulsar una gran parte del mundo digital actual y así crear una

plataforma fiable en la que se crean muchos servicios y aplicaciones, lo cual tiene

infinidades de aplicaciones. Java es un lenguaje multiplataforma, orientado a objetos y

centrado en la red que se puede utilizar como una plataforma en sí mismo. Es un lenguaje

de programación rápido, seguro y confiable para codificarlo todo, desde aplicaciones

móviles y software empresarial hasta aplicaciones de macrodatos y tecnologías del

servidor.

Figura N1, Logo tipo de JAVA


PROCESO DE COMPILACIÓN EN JAVA

El lenguaje de programación Java sigue el siguiente proceso: edición del código fuente,

compilación y ejecución. Los programas Java se desarrollan y se compilan para obtener un

código denominado Bytecode que es interpretado por una máquina virtual de Java (Java

Virtual Machine).

EDITOR: Esta herramienta permite escribir el código del programa de computadora.

Existe una sintaxis establecida para este fin. Es tan básico el editor, que puede utilizarse el

bloc de notas de Windows o en linux cualquiera de sus editores de texto básico. El único

requisito importante aquí es anexar la extensión .java al final del nombre del archivo. Es

decir, si mi archivo se llama suma, debe guardarse como suma.java

COMPILADOR: El compilador es una herramienta que toma el código .java que fue

escrito en el editor y lo convierte a un formato que será comprendido por la máquina. En

los lenguajes de programación tradicionales, mencionar la máquina es hacer referencia al

computador en el que estamos escribiendo el código, pero JAVA tiene una particularidad,

que a su vez es una de las mayores ventajas como lenguaje de programación y es que

JAVA es independiente de la máquina. El programa se ejecutará en una computadora

virtual llamada JVM (Java Virtual Machine). Este componente es instalado cuando se

incorpora el kit de desarrollo del lenguaje. Es decir, al JDK (Java Development Kit). Es un
paquete de software gratuito que debe instalarse en el computador donde se desarrollará en

éste importante lenguaje.

INTERPRETE: El proceso de compilación genera un nuevo archivo con el mismo

nombre del .java, pero con extensión .class. Este último es el que pasamos a la JVM

(Máquina Virtual de Java) y este componente producirá la salida que manipulará el usuario

final del programa que hemos escrito.

ARQUITECTURA DEL JDK

Java Development Kit, es decir Kit de desarrollo de Java. Se puede definir como un

conjunto de herramientas, utilidades, documentación y ejemplos para desarrollar

aplicaciones Java. Este software nos brinda diferentes herramientas para poder desarrollar

distintos códigos. Así mismo esta herramienta es versátil, ya que se adapta a distintos

sistemas operativos como Windows, Mac Os y Linux.

Por otro lado, tenemos los componentes:

• INTERPRETE EN TIEMPO DE EJECUCION

Este componente también conocido como JRE o Java Runtime Enviroment, tiene como

objetivo interpretar el código dentro del .class, en si el archivo llega a compilarse en un

conjunto de Byte código para luego poder ser compilado.

• VIZUALIZADOR DE APPLETS

Es una herramienta que permite ver el funcionamiento de los applets sin la necesidad de la

utilización de un navegador, además es un programa que puede incrustarse dentro de las

páginas web.
• DEPURADOR

El depurador dentro del JDK es una herramienta que permite ejecutar de forma controlada

un programa, en la mayoría de los casos tiene como finalidad encontrar la causa del error o

comprender mejor su funcionamiento.

• GENERADOR DE DOCUMENTACION

El generador de documentación de Java o también llamado JavaDoc posee una gran

cantidad de parámetros para generar dicha documentación, cabe resaltar que esta se genera

principalmente del propio código con el requisito de llamar al método Javadoc.

JERARQUIA DE PAQUETES JAVA

Antes de adentrarnos a la jerarquía de paquetes Java, debemos de saber que es un paquete

en Java. Las clases en Java pertenecen a algún paquete, cuando no se especifica ninguna

declaración de paquete, se emplea el paquete predeterminado. El paquete predeterminado

no tiene nombre, lo que hace que el paquete sea transparente, además está bien para

programas de muestra que están escritos con poco código, pero resulta inadecuado para

aplicaciones reales. En general, se definirá uno o más paquetes para su código.

Los paquetes en Java pueden organizarse jerárquicamente de manera similar a lo que

puedes encontrar en la estructura de carpetas en un dispositivo de almacenamiento, donde:

• Las clases serían como los archivos.

• Cada paquete sería como una carpeta que contiene archivos (clases).

• Cada paquete puede además contener otros paquetes (como las carpetas que

contienen carpetas).

• Para poder hacer referencia a una clase dentro de una estructura de paquetes, habrá

que indicar la trayectoria completa desde el paquete raíz de la jerarquía hasta el paquete en
el que se encuentra la clase, indicando por último el nombre de la clase (como el path

absoluto de un archivo).

PROGRAMACIÓN ORIENTADA A OBJETOS

La programación orientada a objetos, también conocida como "POO", es un modelo de

programación que busca resolver problemas específicos de manera eficiente. Esta ha

ganado popularidad en comparación con otras formas de programación debido a los

beneficios que ofrece. Según Salinas, Roque, López, Mota y Flores (2014), la POO

permite crear objetos auténticos, como iconos, botones y ventanas, ya sea de forma

abstracta o real, como una mesa o un libro. En esencia, la POO es una metodología que

permite implementar aplicaciones flexibles a través del uso de objetos que representan

cosas, eventos o cuerpos de la vida real. Filosóficamente, se puede entender como una

medida aleatoria que facilita la solución de problemas, no enfocándose en el problema en

sí, sino en la plataforma real del mismo.

PRINCIPIOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

La POO se basa en varios pilares que la hacen única y diferente a otras formas de

programación, al igual que la mayoría de los programas y sistemas que tienen una base

sólida sobre la cual se construyen. La POO busca solucionar problemas dividiéndolos en

pequeñas unidades de trabajo que son accedidas por los objetos. Según Sánchez (2015), la

abstracción, encapsulación, herencia y polimorfismo son los pilares esenciales de la POO y

la aplicación coherente de cada uno de ellos permite un desarrollo exitoso de este

mecanismo. En los siguientes apartados se explorará en profundidad cada uno de los

pilares de la POO.

A. Abstracción
Se trata de la capacidad de obtener y separar información y propiedades de un objeto

específico que, a primera vista, pueden no parecer significativas, con el fin de recopilarlas

para su uso posterior. Un ejemplo de esto sería el "objeto vendedor", que implica

manipular un objeto como un "televisor" y tener en cuenta solo ciertas características y

medidas, como el precio, descartando otras. Según Oviedo (2015), esto implica mostrar las

características básicas del objeto y sus comportamientos, que funcionan como un esquema

abstracto que puede realizar una acción, cambio o configuración, sin revelar cómo se

incorporan estas características. Este principio se basa en la selección cuidadosa de las

características más importantes dentro de una colección, para identificar de forma casi

inmediata la conducta similar y concebir nuevos modelos de esquemas en el mundo real.

La abstracción es una pieza elemental en el procedimiento analítico dirigido a objetos, ya

que a través de este proceso se puede elaborar un sistema de clases que esquematiza la

realidad o la falla que se desea contrarrestar, según menciona Ojeda (2016).

B. Encapsulamiento

Este principio trata de reunir todos los elementos relacionados con un mismo propósito, de

manera similar a la abstracción, para fortalecer su conexión. No obstante, tiene la

capacidad de restringir la información abstraída, aislarla y/o protegerla para evitar que

terceros la utilicen. (García, 2013) describe el encapsulamiento como "la agrupación de

todos los elementos necesarios que se consideran pertenecientes a un espacio específico, lo

que proporciona una mejor relación con los demás miembros de un sistema". Un ejemplo

de esto podría ser una tarjeta de memoria que se encuentra en el interior de un teléfono

celular, cuya función no es evidente, pero se puede deducir por sus propiedades, como su

capacidad de almacenar información, que está integrada en el dispositivo y realiza

determinadas tareas.
C. Herencia

La herencia es diferente a los otros principios ya que implica crear un nuevo objeto a partir

de otro ya existente, el cual hereda todas las propiedades del original y puede añadir o

modificar sus capacidades. Según (Couder, 2014), este proceso puede aplicarse a una

clase, creando una subclase o clase derivada a partir de otra. Por ejemplo, si se desea

fabricar una computadora, en lugar de crearla desde cero, se podría partir de un modelo ya

existente y añadir o modificar ciertas funcionalidades, como aumentar su capacidad o

velocidad de procesamiento. De esta manera, se puede aprovechar la estructura ya

existente para crear un objeto nuevo de forma más eficiente.

D. Polimorfismo

De acuerdo a (Mitta, Intérprete y entorno de desarrollo aplicados al auto-aprendizaje de los

conceptos de programación orientada a objetos, 2014), el polimorfismo se refiere a la

capacidad de diferentes objetos o clases que se derivan de otros objetos o clases, para

responder de manera diferente a los mismos métodos. Esto se puede aplicar tanto a objetos

como a funciones, por lo que se les puede considerar como polimórficos. Aunque los

objetos pueden compartir el mismo nombre, su comportamiento puede variar dependiendo

del contexto en el que se utilizan. Las colecciones de objetos pueden tener diferentes

categorías, y su identificación depende del comportamiento correcto que corresponde a la

clasificación del objeto al que se refiere.

CLASES, OBJETOS Y ENVÍO DE MENSAJES:

En la programación orientada a objetos, las clases y los objetos son componentes

fundamentales. Una clase es una plantilla que define los atributos y métodos que tendrán
los objetos creados a partir de ella. Los objetos son instancias de una clase y tienen sus

propios valores de atributos, pero comparten los mismos métodos.

En Java, para crear una clase se utiliza la palabra clave "class", seguida del nombre de la

clase y las llaves que delimitan su contenido. Dentro de la clase se definen los atributos y

los métodos. Los atributos son variables que describen las características de un objeto,

mientras que los métodos son las acciones que pueden realizar los objetos.

1. public class Persona {
2.     // Atributos
3.     private String nombre;
4.     private int edad;

5.    

6.     // Métodos
7.     public void saludar() {
8.         System.out.println("Hola, mi nombre es " + nombre + " y tengo " + edad + "
años.");
9.     }

10.    

11.     public void cumplirAnios() {
12.         edad++;
13.     }
14. }

Una vez definida la clase, se pueden crear objetos a partir de ella utilizando la palabra

clave "new". Los objetos tienen sus propios valores de atributos, que se inicializan en el

momento de la creación del objeto. Los métodos de la clase se pueden llamar a través del

objeto utilizando el operador de punto ".".

1. Persona persona1 = new Persona();
2. persona1.nombre = "Juan";
3. persona1.edad = 25;
4. persona1.saludar(); // Hola, mi nombre es Juan y tengo 25 años.

5. persona1.cumplirAnios();
6. persona1.saludar(); // Hola, mi nombre es Juan y tengo 26 años.

El envío de mensajes es una forma de comunicación entre los objetos, mediante la cual un

objeto llama a un método de otro objeto. Por ejemplo, si se tienen dos objetos "persona1" y

"persona2" de la clase "Persona", se puede llamar al método "saludar()" de "persona2"

desde "persona1".

1. Persona persona1 = new Persona();
2. Persona persona2 = new Persona();
3. persona1.nombre = "Juan";
4. persona1.edad = 25;

5. persona2.nombre = "Ana";

6. persona2.edad = 30;
7.
8. persona1.saludar(); // Hola, mi nombre es Juan y tengo 25 años.
9. persona2.saludar(); // Hola, mi nombre es Ana y tengo 30 años.

10.  

11. persona1.saludar(); // Hola, mi nombre es Juan y tengo 25 años.

persona2.saludar(); // Hola, mi nombre es Ana y tengo 30 años.

MODIFICADORES DE ACCESO:

En Java, los modificadores de acceso se utilizan para especificar la visibilidad de los

atributos y métodos de una clase. La visibilidad se refiere a qué partes del programa

pueden acceder a los atributos y métodos.

• Public: Los atributos y métodos públicos son accesibles desde cualquier parte del

programa, ya sea dentro o fuera de la clase. Se utiliza la palabra clave "public" para

especificar la visibilidad pública.

1. public class Persona {
2.     public String nombre;
3.     public int edad;
4.    
5.     public void saludar() {

6.         System.out.println("Hola, mi nombre es " + nombre + " y tengo " + edad + "


años.");
7.     }
8. }

• Private: Los atributos y métodos privados solo son accesibles desde dentro de la

misma clase. Se utiliza la palabra clave "private" para especificar la visibilidad privada.

1. public class Persona {
2.     private String nombre;
3.     private int edad;
4.    

5.     public void saludar() {

6.         System.out.println("Hola, mi nombre es " + nombre + " y tengo " + edad + "


años.");
7.     }
8.    
9.     private void cumplirAnios() {

10.         edad++;

11.     }
12. }

• Protected: Los atributos y métodos protegidos son accesibles desde dentro de la

misma clase y desde las subclases (clases hijas). Se utiliza la palabra clave "protected"

para especificar la visibilidad protegida.

1. public class Persona {
2.     protected String nombre;
3.     protected int edad;
4.    

5.     public void saludar() {

6.         System.out.println("Hola, mi nombre es " + nombre + " y tengo " + edad + "


años.");
7.     }
8. }
9.  

10. public class Estudiante extends Persona {

11.     public void estudiar() {
12.         System.out.println(nombre + " está estudiando.");
13.     }
14. }

• Default (package-private): Los atributos y métodos con visibilidad por defecto (sin

especificar un modificador de acceso) son accesibles desde dentro del mismo paquete, pero

no desde fuera del paquete. Este modificador de acceso se utiliza cuando no se especifica

ningún otro modificador de acceso.

1. class Persona {
2.     String nombre;
3.     int edad;
4.   

5.     void saludar() {

6.         System.out.println("Hola, mi nombre es " + nombre + " y tengo " + edad + "


años.");
7.     }
8. }

Es importante tener en cuenta que los modificadores de acceso son una forma de

encapsulamiento, que es un concepto fundamental de la programación orientada a objetos.

El encapsulamiento consiste en ocultar los detalles internos de una clase y exponer solo lo

que es necesario para su uso. Los modificadores de acceso son una herramienta clave para

lograr el encapsulamiento.
FUENTES:

• Oracle. (2021). Java documentation. https://docs.oracle.com/en/java/

• Oracle. (2021). Java tutorials. https://docs.oracle.com/javase/tutorial/

• Baeldung. (n.d.). Java tutorials. https://www.baeldung.com/

• Tutorialspoint. (n.d.). Java tutorials. https://www.tutorialspoint.com/index.htm

• GeeksforGeeks. (n.d.). Java programming language.

https://www.geeksforgeeks.org/

• JavaPoint. (n.d.). Java tutorial. https://www.javatpoint.com/

• W3Schools. (n.d.). Java tutorials. https://www.w3schools.com/java/

Vera, c. G. M., loor, j. L. M., & mera, j. A. B. (2018). Los pilares de la programación

orientada a la web. Universidad ciencia y tecnología, (1), 9-9. Link de la fuente:

https://uctunexpo.autanabooks.com/index.php/uct/article/view/42/43
Diego Paul. (2018). Desarrollo de un sistema informático para la trazabilidad de los

resultados de la materia prima (plasmas reactivos y no reactivos) en el programa de

evaluación externo del desempeño para el centro de investigación para la salud en américa

latina (ciseal). Pontificia universidad católica del Ecuador. Fuente:

https://tesis.ipn.mx/jspui/bitstream/123456789/21507/1/Tesis%20Version%20Final.pdf

También podría gustarte