Está en la página 1de 17

Clases y

objetos: un
análisis
más detallado

“La disciplina es el puente entre las metas y el


logro.”
Jim Rohn
Planificar el
proceso
Sueño Diseño Desarrollo
“Hoy hacemos lo que ellos
no harán para que mañana
podamos lograr lo que ellos
no pueden.”
Dwayne ‘La roca’ Johnson
 Usar la instrucción throw para indicar que
ocurrió un problema.
 Usar la palabra clave this en un constructor
para llamar a otro constructor en la misma clase.
OBJETIVOS
 Utilizar el tipo enum para crear conjuntos de
constantes con identificadores únicos.
 Usar BigDecimal para los cálculos monetarios
precisos.
Cuando se crea 1. Se asigna memoria para el objeto.
un objeto 2. Se inicializan los atributos de ese objeto.
ocurren tres 3. Se invoca al constructor de la clase que puede
cosas: ser uno entre varios.

Constructores ejemplo = new Constructores();


Los  Nombre: tiene el mismo nombre de la
constructores clase.
tienen ciertas  Valor devuelto: no devuelve ningún
características valor.
que son:  Visibilidad: debe declararse público.
public class Constructores {
public Constructores () {
En el siguiente
ejemplo se ha System.out.println("Este es el mensaje dentro del
constructor");
creado un método
constructor de }
forma explícita, public static void main(String [] args){
colocado dentro de Constructores ejemplo = new Constructores();
él, un //después de new, es donde se invoca al método
mensaje para que //constructores y por esa razón se imprime en pantalla el
se imprima en mensaje
pantalla. }
}
 public class Constructores {
 public Constructores (){
 System.out.println("Este es el mensaje dentro del constructor");
}
Se pueden crear  public Constructores (int a, int b){
más constructores  int suma = a + b;
con el mismo  System.out.println("La suma es: " + suma);
nombre y pasarle }
argumentos como  public static void main(String [] args){
cualquier método.  Constructores ejemplo = new Constructores();
 Constructores ejemplo1 = new Constructores(5, 10);
}
}
 Son aquellos que tienen el mismo nombre pero
se accede a cada uno de ellos de diferente
CONSTRUCTORES
SOBRECARGADOS
manera, es decir que la forma en que se
diferencia es a través de los parámetros.
(mismo nombre pero con diferentes firmas y definiciones).
 El tipo de dato que devuelve ese
método.
Firma se le llama  El nombre del método.
al encabezado de  La lista de argumentos que puede
un método, el recibir el método.
cual está Ejemplo de un método sobrecargado es:
compuesto por: public int calcular() {
}
public int calcular(int x) {
}
public int calcular(int x, int y) {
}
public int calcular(double x, double y) {
}
public class Sobrecargados {
public void sumar(){
System.out.println("Este método NO recibe public static void main(String [] args){
parámetros");
Sobrecargados obj1 = new
} Sobrecargados();
public void sumar(int x, int y){
obj1.sumar();
System.out.println("Este método recibe dos
números enteros"); obj1.sumar(4, 6);
Ejemplo: } obj1.sumar(3);
public void sumar(int x){
obj1.sumar(4.5);
System.out.println("Este método recibe un
número entero"); }
} }
public void sumar(double x){
System.out.println("Este método recibe un
número decimal");
}
 Puede ser usada para invocar a un constructor.
 Principalmente, cuando existe sobrecarga de nombres

USO DE LA
PALABRA THIS
Un tipo enum en Java es un tipo “especial” que en cierta
medida puede usarse como una clase y admite ciertas
posibilidades especiales.
Cada declaración enum declara a una clase enum con las
siguientes restricciones:
TIPOS ENUM
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.
package libro; // metodo de acceso para el campo titulo
public enum Libro public String getTitle()
{
{
return title;
// declara constantes de tipo enum }
JHTP("Java How to Program", "2015"), // metodo de acceso para el campo
CHTP("C How to Program", "2013"), copyrightYear
public String getCopyrightYear()
IW3HTP("Internet & World Wide Web How to
Program", "2012"), { return copyrightYear;
}
CPPHTP("C++ How to Program", "2014"),
} // fin enum Libro
VBHTP("Visual Basic How to Program", "2014"), package libro;
Ejemplo enum CSHARPHTP("Visual C# How to Program", "2014"); import java.util.EnumSet;
// campos de instancia
public class PruebaEnum
{
private final String title; public static void main(String[] args)
private final String copyrightYear; {
// constructor de enum System.out.println("Todos los libros:");
// imprime todos los libros en enum Libro
Libro(String title, String copyrightYear)
for (Libro libro : Libro.values())
{ System.out.printf("%-10s%-45s%s%n", libro,
this.title = title; libro.getTitle(), libro.getCopyrightYear());
this.copyrightYear = copyrightYear; System.out.printf("%nMostrar un rango de
constantes enum:%n");
 Primero s1 que se formatea usando% -15s. El% significa que lo que
sigue es un argumento que se formateará. Luego sigue un -
resultando en una alineación a la izquierda. 15 llena la cadena
hasta una longitud de 15 caracteres (agregando espacios al final).
 Finalmente, la s significa que está formateando una
cadena.Segunda x que se formatea con% 03d. Aquí el 0 es el
carácter de relleno, lo que significa que, si es necesario, se agregan
ceros. El 3 es nuevamente el ancho, lo que significa que el carácter
de relleno 0 se agrega tantas veces como sea necesario para que
tenga 3 dígitos (esta vez al principio). Por último, d significa que se
formatea un número entero.
Uso de BigDecimal
 Cualquier aplicación que requiera cálculos precisos de punto flotante
para cálculos (como los de las aplicaciones financieras) debe usar la clase BigDecimal
monetarios (del paquete java.math).
precisos
Resumen

throw BigDecimal

this enum
Gracias
hector.linares@ues.edu.sv

También podría gustarte