Está en la página 1de 9

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA


CÁTEDRA DE PROGRAMACIÓN

CARRERA LICENCIATURA EN INFORMÁTICA EDUCATIVA


ASIGNATURA PROGRAMACIÓN INTERMEDIA
CICLO I-2021
GUÍA DE LABORATORIO CLASES Y OBJETOS Y DESARROLLO DE SUBMENUS
N°3 EN EL ENTORNO GRAFICO DE NETBEANS.
PONDERACIÓN 6%
FECHA DE REALIZACIÓN SÁBADO 26 DE MARZO 2022.

OBJETIVOS

Al finalizar el laboratorio N°3 el estudiante será capaz de:

• Usar la palabra clave this en un constructor para llamar a otro constructor en la misma clase.
• Utilizar el tipo enum para crear conjuntos de constantes con identificadores únicos.
• Usar BigDecimal para los cálculos monetarios precisos.
• Crear un submenú en el entorno grafico de Netbeans, al cual se pueda acceder desde un
menú principal con un botón.

CONCEPTOS DE JAVA

REFUERZO DE METODOS CONSTRUCTORES

Un constructor es un método especial de una clase que se invoca siempre que se crea un objeto
de esa clase.

Cuando se crea un objeto ocurren tres cosas:

1. Se asigna memoria para el objeto.


2. Se inicializan los atributos de ese objeto.
3. Se invoca al constructor de la clase que puede ser uno entre varios.

Los constructores tienen ciertas características que son:

• Nombre: tiene el mismo nombre de la clase.


• Valor devuelto: no devuelve ningún valor.
• Visibilidad: debe declararse público.

Independientemente que se crea un método constructor de forma explícita, cuando se crea un


objeto de la clase, java automáticamente crea un método constructor. El constructor está vacío y
no realiza ninguna acción, el único objetivo que tiene es el de construir el objeto como tal.
Sin embargo, los métodos constructores nos permiten realizar algunas acciones, al fin y al cabo,
estos son métodos y se pueden tratar como tales, pasándoles parámetros, con la diferencia que no
devolverán ningún valor.
En el siguiente ejemplo se ha creado un método constructor de forma explícita, colocado dentro de
él, un mensaje para que se imprima en pantalla.

Página 1 de9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

EJEMPLO N°1 Mensaje en pantalla utilizando constructores.

1. package constructores;
2. public class Constructores {
3. public Constructores () {
4. System.out.println("Este es el mensaje dentro del constructor");
5. }
6. public static void main(String [] args){
7. Constructores ejemplo = new Constructores(); 8.
}
9. //después de new, es donde se invoca al método
10. //constructores y por esa razón se imprime en pantalla el mensaje
11. }

Se pueden crear más constructores con el mismo nombre y pasarle argumentos como cualquier
método.

EJEMPLO N°2 Sumar 2 números utilizando constructores.

1. package constructores2;
2. public class Constructores2 {
3. public Constructores2 (){
4. System.out.println("Este es el mensaje dentro del constructor");
5. }
6. public Constructores2 (int a, int b){ int suma = a + b;
7. System.out.println("La suma es: " + suma); 8.
}
9. public static void main(String [] args){
10. Constructores2 ejemplo = new Constructores2();
11. Constructores2 ejemplo1 = new Constructores2(5, 10);
12. }
13. }

CONSTRUCTORES SOBRECARGADOS

Los constructores sobrecargados son aquellos que tienen el mismo nombre, pero se accede a
cada uno de ellos de diferente manera, es decir que la forma en que se diferencia es a través de
los parámetros. Entonces, la sobrecarga de métodos es la creación de varios métodos con el
Página 2 de9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

mismo nombre, pero con diferentes firmas y definiciones.

Firma se le llama al encabezado de un método, el cual está compuesto por:


• El tipo de dato que devuelve ese método.
• El nombre del método.
• La lista de argumentos que puede recibir el método.

Ejemplo de un método sobrecargado es:

1. public int calcular() { }


2. public int calcular(int x) { }
3. public int calcular(int x, int y) { }
4. public int calcular(double x, double y) { }

La forma en que Java sabe que método sobrecargado ejecutará, es por el número y tipo de
parámetros que se le envía.

EJEMPLO N°3 Métodos Sobrecargados.

1. package sobrecargados;
2. public class Sobrecargados {
3. public void sumar(){
4. System.out.println("Este método NO recibe parámetros");
5. }
6. public void sumar(int x, int y){
7. System.out.println("Este método recibe dos números enteros"); 8.
}
9. public void sumar(int x){
10. System.out.println("Este método recibe un número entero");
11. }
12. public void sumar(double x){
13. System.out.println("Este método recibe un número decimal");
14. }
15. public static void main(String [] args){
16. Sobrecargados obj1 = new Sobrecargados();
17. obj1.sumar();
18. obj1.sumar(4, 6);
19. obj1.sumar(3);
20. obj1.sumar(4.5);
21. }
22. }

Página 3 de9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

USO DE LA PALABRA THIS

La palabra clave this puede ser usada para invocar a un constructor. Sin embargo, su uso quizás
más frecuente en Java tiene lugar en otro contexto: cuando existe sobrecarga de nombres. La
sobrecarga de nombres se da cuando tenemos una variable local de un método o constructor, o un
parámetro formal de un método o constructor, con un nombre idéntico al de un campo de la clase.

EJEMPLO N°4 Utilizando la palabra This para calcular el área de un rectángulo.

Primero se debe abrir un proyecto con el nombre RectanguloMain y allí se debe colocar el
siguiente código.

1. package rectangulomain;
2. import java.util.Scanner;
3. public class RectanguloMain {
4. public static void main(String[] args){
5. Scanner entrada = new Scanner(System.in);
6. System.out.print("Dame el valor de la base");
7. int base = entrada.nextInt();
8. System.out.print("Dame el valor de la altura");
9. int altura = entrada.nextInt();
10. Rectangulo mensajero = new Rectangulo(base,altura);
11. mensajero.Imprimir();
12. }
13. }

Se debe colocar en el mismo proyecto una clase con el nombre Rectángulo y colocar el siguiente código.

1. package rectangulomain;
2. public class Rectangulo{
3. private int base, altura, area;
4. public Rectangulo(int base, int altura){
5. this.base=base;
6. this.altura=altura;
7. }
8. public void CalculoArea(){
9. area=base*altura;
10. }
11. public void Imprimir (){
12. CalculoArea();
13. System.out.println("El area es: "+area);
14. }
15. }

Página 4 de9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

TIPOS ENUM
Un tipo enum en Java es un tipo “especial” que en cierta medida puede usarse como una clase y admite
ciertas posibilidades especiales.
Un tipo enum se declara con una declaración enum , la cual es una lista separada por comas de
constantes enum.
Cada declaración enum declara a una clase enum con las siguientes restricciones:
1. Las constantes enum son implícitamente final.
2. Las constantes enum son implícitamente static.
3. Cualquier intento por crear un objeto de un tipo enum con el operador new produce un
error de compilación.

EJEMPLO N°5 Utilizando ENUM.

Primero se debe abrir un proyecto con el nombre Libro y allí se debe colocar el siguiente código.

1. package libro;
2. public enum Libro{
3. JHTP("Java How to Program", "2015"), CHTP("C How to
Program", "2013"),IW3HTP("Internet & World Wide Web How to
Program", "2012"), CPPHTP("C++ How to Program", "2014"),VBHTP("Visual
Basic How to Program", "2014"), CSHARPHTP("Visual C# How to
Program", "2014");
4. private final String title;
5. private final String copyrightYear;
6. Libro(String title, String copyrightYear){
7. this.title = title;
8. this.copyrightYear = copyrightYear; 9.
}
10. public String getTitle(){
11. return title;
12. }
13. public String getCopyrightYear(){
14. return copyrightYear;
15. }
16. }

Se debe colocar en el mismo proyecto una clase con el nombre PruebaEnum y colocar el siguiente
código

1. package libro;
2. import java.util.EnumSet;
3. public class PruebaEnum{
4. public static void main(String[] args){
5. System.out.println("Todos los libros:");
6. for (Libro libro : Libro.values())
7. System.out.printf("%-10s%-45s%s%n", libro, libro.getTitle(),
libro.getCopyrightYear());
8. System.out.printf("%nMostrar un rango de constantes enum:%n");
9. for (Libro libro : EnumSet.range(Libro.JHTP, Libro.CPPHTP))

Página 5 de9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

10. System.out.printf("%-10s%-45s%s%n", libro, libro.getTitle(),


libro.getCopyrightYear());
11. }
12. }

Uso de BigDecimal para cálculos monetarios precisos


Cualquier aplicación que requiera cálculos precisos de punto flotante (como los de las
aplicaciones financieras) debe usar la clase BigDecimal (del paquete java.math).

EJEMPLO N°6 Utilizando BigDecimal.

1. package financiero;
2. import java.math.BigDecimal;
3. import java.text.NumberFormat;
4. public class Interes{
5. public static void main(String args[]) {
6. BigDecimal principal = BigDecimal.valueOf(1000.0);
7. BigDecimal tasa = BigDecimal.valueOf(0.05);
8. System.out.printf("%5s%25s%n", "Año", "Monto en deposito");
9. for (int año = 1; año <= 10; ++año){
10. BigDecimal
monto = principal.multiply(tasa.add(BigDecimal.ONE).pow(año));
11.
System.out.printf("%4d%20s%n", año, NumberFormat.getCurrencyInsta
nce().format(monto));
12. NumberFormat.getCurrencyInstance().format(monto);
13. }
14. }
15. }

Página 6 de9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

Slider en Interfaz gráfica de NetBeans.

EJEMPLO N°7
Realizar una aplicación que al mover un slider, muestre el número correspondiente entre 0 y 100
como se muestra en las siguientes figuras.

Se debe colocar un slider y una etiqueta, en la interfaz gráfica. El nombre de variable de la etiqueta será
Label y el del Slider será num.

Posteriormente se debe dar esta asignación al Slider

Y posteriormente colocar el siguiente código en el apartado Source correspondiente al Slider.

Página 7 de 9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

EJERCICIOS EVALUADOS

EJERCICIO N°1
Modifique el ejemplo 4 y utilizando métodos constructores y la palabra this, calcule el área y el

perímetro de un circulo:

Area del circulo = 3.14 ∗ 𝑟𝑎𝑑𝑖𝑜2

Perimetro del circulo = 2 ∗ 3.14 ∗ 𝑟𝑎𝑑𝑖𝑜

EJERCICIO N°2
Utilice el siguiente código y haga los cambios necesarios para que imprima el nombre de una universidad
salvadoreña, así como el nombre completo del estudiante y la carrera que está cursando.

1. package libro;
2. public enum Libro{
3. JHTP("Java How to Program", "2015"),CHTP("C How to
Program", "2013"),IW3HTP("Internet & World Wide Web How to
Program", "2012"),CPPHTP("C++ How to Program", "2014"),VBHTP("Visual Basic How
to Program", "2014"),CSHARPHTP("Visual C# How to Program", "2014");
4. private final String title;
5. private final String copyrightYear;
6. Libro(String title, String copyrightYear){
7. this.title = title;
8. this.copyrightYear = copyrightYear;
9. }
10. public String getTitle(){
11. return title;
12. }
13. public String getCopyrightYear(){
14. return copyrightYear;
15. }
16. }
17. package libro;
18. import java.util.EnumSet;
19. public class PruebaEnum{
20. public static void main(String[] args){
21. System.out.println("Todos los libros:");
22. for (Libro libro : Libro.values())
23. System.out.printf("%-10s%-
45s%s%n", libro, libro.getTitle(), libro.getCopyrightYear());
24. System.out.printf("%nMostrar un rango de constantes enum:%n");
25. for (Libro libro : EnumSet.range(Libro.JHTP, Libro.CPPHTP))
26. System.out.printf("%-10s%-
45s%s%n", libro, libro.getTitle(), libro.getCopyrightYear());
27. }
28. }
Página 8 de 9
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA
CÁTEDRA DE PROGRAMACIÓN

EJERCICIO N°3

Realice un menú con un texto que diga “Buen dia” y un botón que lo lleve a una
segunda pestaña (como el que se realizó en el siguiente video)
https://youtu.be/3OuCRpGMScc en la cual esté replicado el contenido de la variación de
colores con Sliders (tal como se realizó en el siguiente video)
https://youtu.be/WvF9uTfpubM

En la pestaña de los Sliders debe colocar un texto que diga “Variación de colores” y un
botón para regresar al menú principal.

Ojo. No debe hacerlo idéntico. Aplique su creatividad

Debe grabar un video explicando cómo desarrolló los 3


ejercicios de este laboratorio, subirlo a youtube y colocar el
enlace de dicho video en el reporte de laboratorio.

INDICACIONES PARA LA ENTREGA EN PLATAFORMA DEL REPORTE DEL


LABORATORIO 1:

1. Presentar capturas de pantalla de la solución de cada ejercicio en el documento en


Word.
2. Debe presentar el enlace del video al inicio del apartado de Desarrollo de ejercicios.
3. Deberá entregar sus soluciones trabajadas en NetBeans presentando el archivo
la carpeta donde están los proyectos generados en .java . Debe generar un nuevo
proyecto por cada código presentado.
4. En un archivo comprimido adjunte su documento de Word y las soluciones en
archivos con extensión .java, súbalas en el enlace designado para subir
laboratorio #1.

Partes del documento


a presentar.
• (Portada)
• Introducción
• Objetivos
• Desarrollo de los ejercicios.
• Conclusiones

Página 9 de 9

También podría gustarte