Clase 5 - Encapsulamiento y Modularidad

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 23

• Este concepto consiste en la ocultación del estado o de

los datos miembro de un objeto, de forma que sólo es


posible modificar los mismos mediante los métodos
definidos para dicho objeto.

• Cada objeto está aislado del exterior, de forma que la


aplicación es un conjunto de objetos que colaboran
entre sí mediante el paso de mensajes invocando sus
operaciones o métodos.
• De esta forma, los detalles de implementación
permanecen "ocultos" a las personas que usan las
clases, evitando así modificaciones o accesos indebidos
a los datos que almacenan las clases.

• Además, el usuario de la clase no se tiene que


preocupar de cómo están implementados los métodos
y propiedades, concentrándose sólo en cómo debe
usarlos.
Si se desea flexibilidad, buen mantenimiento y
extensibilidad, nuestro diseño en el código debe de
incluir encapsulamiento, para ello debemos de hacer lo
siguiente:

• Mantener las variables de instancia protegidas (puede


ser con un modificador de acceso, p.ej., private).
• Hacer métodos de acceso públicos para forzar al
acceso a las variables por medio de dichos métodos
en lugar de acceder directamente.

• Utilizar las convenciones de código para los nombres


de los métodos, p. ej., set y get.
• La modularidad es, en programación modular y más
específicamente en programación orientada a objetos,
la propiedad que permite subdividir una aplicación en
partes más pequeñas (llamadas módulos), cada una de
las cuales debe ser tan independiente como sea posible
de la aplicación en sí y de las restantes partes.
• Estos módulos que se puedan compilar por separado,
pero que tienen conexiones con otros módulos. Al igual
que la encapsulación, los lenguajes soportan la
Modularidad de diversas formas. La modularidad debe
seguir los conceptos de acoplamiento y cohesión.
• La empresa “El único Hexa” necesita un programa que
registre n cantidad de ventas y que al total de las
mismas les calcule:

• El iva sobre la base de 12%


• El isr sobre la base del 5%

• El valor porcentual del iva y del isr deben guardarse en


una clase distinta de la clase principal.
public class Resultados {
private double iva = 0.12;
private double isr = 0.05;

//Metodos Gets y Sets


public double getIva() {
return iva;
}
public void setIva(double iva) {
this.iva = iva;
}
public double getIsr() {
return isr;
}
public void setIsr(double isr) {
this.isr = isr;
}
}
public static void main(String[] args) {
Resultados calculo = new Resultados();
double totalVentas = 0;
double ventaIngresada = 0;
double totalIva = 0;
double totalIsr = 0;
int cantidadVentas = Integer.parseInt(JOptionPane.showInputDialog("¿CUANTAS VENTAS
DESEA INGRESAR?"));
for(int i=0; i<cantidadVentas; i++){
ventaIngresada = Double.parseDouble(JOptionPane.showInputDialog("INGRESE EL VALOR
DE LA VENTA"));
totalVentas += ventaIngresada;
}
totalIva = totalVentas * calculo.getIva();
totalIsr = totalVentas * calculo.getIsr();
JOptionPane.showMessageDialog(null, "TOTAL DE IVA: " + totalIva + "\n TOTAL DE ISR: " +
totalIsr);
}
• La empresa “BetisForever” requiere un programa que
registre n cantidad de usuarios y luego indique cuantos
son hombres y mujeres, para ello manejará dos
variables gM y gF en una clase distinta de la principal

• El sistema deberá recibir el genero del usuario y hacer


la distinción correspondiente para el conteo.
public class Resultados {
private String gM = "M";
private String gF = "F";

//Metodos Gets y Sets


public String getgM() {
return gM;
}
public void setgM(String gM) {
this.gM = gM;
}
public String getgF() {
return gF;
}
public void setgF(String gF) {
this.gF = gF;
}
}
public static void main(String[] args) {
Resultados calculo = new Resultados();
int contadorM = 0;
int contadorF = 0;
int cantidadUsuarios = Integer.parseInt(JOptionPane.showInputDialog("INGRESE LA
CANTIDAD DE USUARIOS A REGISTRAR"));
for(int i=0; i<cantidadUsuarios; i++){
String generoIngresado = JOptionPane.showInputDialog("INGRESE EL GENERO:");
if(generoIngresado.equals(calculo.getgF())){
contadorF ++;
}
else if(generoIngresado.equals(calculo.getgM())){
contadorM++;
}
}
JOptionPane.showMessageDialog(null, "CANTIDAD DE HOMBRES: " + contadorM + "\n
CANTIDAD DE MUJERES: " + contadorF);
}
• Desarrolle un programa para representar la ley de Ohm
en el cual se soliciten dos variables y se devuelva el
resultado correspondiente:
• Desarrolle un conversor de grados Centígrados a
Farenheit, utilizando la clase JOptionPane para la
interacción del sistema con el usuario.

• La formula es la siguiente: F = 32 + (C * 1.8)

También podría gustarte