2 de marzo - 8 de marzo
Perfilado de sección
-
Constructores
Qué es un constructor
Estructura general en Java
Constructor por defecto
Constructor “de oficio” (vacío explícito)
Constructor paramétrico
Constructor de copia
Ejemplos claros y comparativos¿Qué es un constructor?
Un constructor es un método especial que:
- Tiene el mismo nombre que la clase.
- No tiene tipo de retorno.
- Se ejecuta automáticamente cuando se crea un objeto.
- Se usa para inicializar atributos.
Estructura general de un constructor en Java
public NombreClase(parametros) {
// inicialización
}Reglas importantes:
- No lleva void.
- Puede estar sobrecargado.
- Puede usar this.
Constructor por defecto (implícito)
Definición:
Es el constructor que Java crea automáticamente si la clase no tiene ningún constructor definido.
Si usted define un constructor, Java ya NO genera el constructor por defecto.
Ejemplo
public class Persona {
String nombre;
int edad;
}Aunque no lo veamos, Java genera internamente:
public Persona() {
}Constructor “de oficio” (vacío explícito)
Definición:
Es el constructor vacío que el programador escribe explícitamente.
Se usa cuando:
- Queremos permitir crear objetos sin parámetros.
- Queremos agregar lógica inicial básica.
Estructura
public class Persona {
String nombre;
int edad;
public Persona() {
nombre = "Sin nombre";
edad = 0;
}
}Uso
Persona p1 = new Persona();
Constructor paramétrico
Definición:
Es aquel que recibe parámetros para inicializar los atributos con valores específicos.
Es el más usado en diseño profesional.
Estructura
public class Persona {
String nombre;
int edad;
public Persona(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
}Uso
Persona p1 = new Persona("Carlos", 25);
Aquí se inicializa el objeto con datos reales.
Constructor de copia
Definición:
Es un constructor que recibe un objeto del mismo tipo y crea una copia del mismo.
Java no lo genera automáticamente (a diferencia de C++), se debe programar manualmente.
Estructura
public class Persona {
String nombre;
int edad;
public Persona(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
// Constructor de copia
public Persona(Persona otraPersona) {
this.nombre = otraPersona.nombre;
this.edad = otraPersona.edad;
}
}🔎 Uso
Persona p1 = new Persona("Ana", 30);
Persona p2 = new Persona(p1);Ahora:
- p1 y p2 son objetos distintos en memoria.
- Pero tienen los mismos valores.
Comparación clara para clase
Tipo de Constructor
Parámetros
¿Lo crea Java automáticamente?
Uso principal
Por defecto
No
Sí (si no hay otros)
Inicialización básica
De oficio
No
No
Personalizar inicialización
Paramétrico
Sí
No
Inicialización personalizada
De copia
Objeto mismo tipo
No
Duplicar objetos
Concepto de Método en Programación Orientada a Objetos
Definición
Un método es un bloque de código definido dentro de una clase que describe una acción o comportamiento que puede realizar un objeto. En otras palabras: Un método es una función asociada a una clase que permite ejecutar operaciones sobre los datos del objeto.
Los métodos permiten:
- Organizar el código
- Reutilizar funciones
- Encapsular comportamientos
Estructura de un Método en Java
La estructura general de un método es:
modificador tipoRetorno nombreMetodo(parametros) {
// instrucciones
}Elementos
Elemento
Descripción
modificador
nivel de acceso (public, private, protected)
tipoRetorno
tipo de dato que devuelve
nombreMetodo
identificador del método
parámetros
datos que recibe el método
Los niveles de acceso en Java (public, private, protected, y default) son modificadores que determinan la visibilidad y accesibilidad de clases, métodos y atributos desde otras partes del código. Controlan el encapsulamiento, permitiendo proteger los datos sensibles (private) y definir qué partes son accesibles internamente o globalmente.
- public: Acceso total. El miembro o clase es visible desde cualquier otra clase en cualquier paquete.
- private: Acceso restringido. Solo es visible dentro de la propia clase donde se declara.
- protected: Acceso limitado. Visible dentro del mismo paquete y por subclases (clases hijas) incluso si están en paquetes distintos.
- default (sin modificador): Acceso a nivel de paquete. Visible solo para clases dentro del mismo paquete.
____________________________________
Ejemplo
public int sumar(int a, int b) {
return a + b;
}Este método:
- Es público
- Retorna int
- Recibe dos parámetros
Tipos de Métodos
En Java se pueden clasificar en cuatro casos básicos que son muy útiles pedagógicamente.
Método sin parámetros y sin retorno
public void saludar() {
System.out.println("Hola estudiantes");
}Uso:
saludar();
Método con parámetros y sin retorno
public void mostrarNombre(String nombre) {
System.out.println("Nombre: " + nombre);
}Uso:
mostrarNombre("Carlos");
3. Método sin parámetros y con retorno
public int obtenerNumero() {
return 10;
}Uso:
int n = obtenerNumero();
4. Método con parámetros y con retorno
public double calcularPromedio(double n1, double n2) {
return (n1 + n2) / 2;
}//Uso:
double promedio = calcularPromedio(4.0, 3.5);
Ejercicio Resuelto 1
Clase Calculadora
Problema
Crear una clase Calculadora con métodos para realizar operaciones básicas.
Código
public class Calculadora {
public int sumar(int a, int b) {
return a + b;
}
public int restar(int a, int b) {
return a - b;
}
public int multiplicar(int a, int b) {
return a * b;
}
public double dividir(double a, double b) {
return a / b;
}
}Clase principal
public class Principal {
public static void main(String[] args) {
Calculadora calc = new Calculadora();
System.out.println("Suma: " + calc.sumar(5,3));
System.out.println("Resta: " + calc.restar(10,4));
System.out.println("Multiplicación: " + calc.multiplicar(6,7));
System.out.println("División: " + calc.dividir(10,2));
}
}