Java Unidad 8
Java Unidad 8
Desarrollo de clases
Contenidos
Parte 1: Concepto de clase 3
Parte 2: Estructura y miembros de una clase 6
Parte 3: Creación de atributos. Declaración e inicialización. 11
Parte 4: Creación de métodos. Declaración, argumentos y valores de retorno 17
Parte 5: Creación de constructores 23
Parte 6: Ámbito de atributos y variables 28
Parte 7: Sobrecarga de métodos 33
Parte 8: Visibilidad. Modificadores de clase, de atributos y de métodos 39
Parte 9: Paso de parámetros. Paso por valor y paso por referencia 44
Parte 10: Utilización de clases y objetos 48
Parte 11: Utilización de clases heredadas 53
Parte 12: Librerías y paquetes de clases. Utilización y creación 59
Parte 13: Documentación sobre librerías y paquetes de clases 65
Conclusión del Bloque: Desarrollo de clases 70
Desarrollo de clases Parte 1: Concepto de clase
Ejemplo:
• Clase: Automóvil.
• Atributos: color, marca, modelo.
• Métodos: acelerar, frenar, girar.
Sintaxis
3
Desarrollo de clases Parte 1: Concepto de clase
Salida:
4
Desarrollo de clases Parte 1: Concepto de clase
4. Ejercicio Práctico
Problema
Crea una clase Libro que tenga los siguientes atributos y métodos:
Pistas
5. Preguntas de Evaluación
a) class
b) struct
c) object
d) template
a) Funcionalidades.
b) Datos o características.
c) Acciones del objeto.
d) Ninguna de las anteriores.
4. ¿Qué es un objeto?
a) Una función.
b) Una instancia de una clase.
c) Una variable global.
d) Un método estático.
5
Desarrollo de clases Parte 2: Estructura y miembros de una clase
La estructura básica de una clase en Java incluye los miembros mencionados anteriormente y sigue un orden general:
Sintaxis
2. Atributos
Los atributos representan las características o datos de un objeto y se declaran como variables dentro de la clase.
Tipos de Atributos
6
Desarrollo de clases Parte 2: Estructura y miembros de una clase
Ejemplo: Atributos
3. Métodos
Los métodos definen el comportamiento de una clase. Pueden ser de instancia (se ejecutan en un objeto específico) o
estáticos (pertenecen a la clase).
Componentes de un Método
Ejemplo: Métodos
7
Desarrollo de clases Parte 2: Estructura y miembros de una clase
4. Constructores
Los constructores son métodos especiales que se llaman automáticamente cuando se crea un objeto. Se utilizan para
inicializar atributos.
Ejemplo: Constructor
Salida:
8
Desarrollo de clases Parte 2: Estructura y miembros de una clase
5. Bloques de Inicialización
Los bloques de inicialización son segmentos de código que se ejecutan antes del constructor al crear un objeto.
6. Clases Anidadas
Una clase anidada es una clase definida dentro de otra clase. Se utiliza para organizar el código y establecer relaciones
más fuertes entre clases.
9
Desarrollo de clases Parte 2: Estructura y miembros de una clase
7. Ejercicio Práctico
Problema
8. Preguntas de Evaluación
a) Método
b) Constructor
c) Bloque estático
d) Clase anidada
a) De instancia
b) Estático
c) Privado
d) Final
3. ¿Qué palabra clave se usa para acceder a miembros de la clase desde un objeto?
a) new
b) class
c) this
d) static
10
Desarrollo de clases Parte3:Creació[Link]óneinicialización.
1. Declaración de Atributos
2. Inicialización de Atributos
11
Desarrollo de clases Parte3:Creació[Link]óneinicialización.
Uso:
Salida:
12
Desarrollo de clases Parte3:Creació[Link]óneinicialización.
La inicialización más común de los atributos se realiza a través de un constructor, permitiendo asignar valores al mo-
mento de crear el objeto.
Uso:
Salida:
13
Desarrollo de clases Parte3:Creació[Link]óneinicialización.
Se pueden inicializar o modificar los valores de los atributos usando métodos setters.
Uso:
Salida:
14
Desarrollo de clases Parte3:Creació[Link]óneinicialización.
Los bloques de inicialización permiten ejecutar código adicional al inicializar los atributos.
Uso:
Salida:
3. Ejercicio Práctico
Problema
Crea una clase Alumno que tenga los siguientes atributos y características:
• Un constructor.
• Métodos setters.
4. Preguntas de Evaluación
a) Evitar la encapsulación.
b) Validar los valores antes de asignarlos.
c) Incrementar la complejidad del código.
d) No tiene ninguna ventaja.
16
Desarrollo de clases Parte4:Creacióndemé[Link]ón,argumentosyvaloresderetorno
1. Concepto de Método
Un método puede recibir argumentos, realizar operaciones y devolver valores. Los métodos encapsulan acciones o
funciones específicas dentro de una clase.
java
Copiar código
[modificadores] tipoDeRetorno nombreMetodo(parámetros) {
// Cuerpo del método: instrucciones a ejecutar
return valor; // Opcional, si no es void
}
17
Desarrollo de clases Parte4:Creacióndemé[Link]ón,argumentosyvaloresderetorno
2. Declaración de Métodos
Ejemplo
Uso:
Salida:
18
Desarrollo de clases Parte4:Creacióndemé[Link]ón,argumentosyvaloresderetorno
Un método puede devolver un valor usando la instrucción return. El tipo de retorno debe coincidir con el tipo declarado
en la definición del método.
Ejemplo
Uso:
Salida:
Los métodos pueden recibir parámetros (datos de entrada) para realizar tareas dinámicas.
Ejemplo
19
Desarrollo de clases Parte4:Creacióndemé[Link]ón,argumentosyvaloresderetorno
Uso:
Salida:
Ejemplo
Uso:
Salida:
Nombre: Ana
Edad: 25
20
Desarrollo de clases Parte4:Creacióndemé[Link]ón,argumentosyvaloresderetorno
3. Sobrecarga de Métodos
La sobrecarga de métodos permite definir varios métodos con el mismo nombre pero diferentes parámetros (cantidad
o tipo de datos).
Ejemplo de Sobrecarga
Uso:
Salida:
Suma de 2 números: 15
Suma de 3 números: 30
21
Desarrollo de clases Parte4:Creacióndemé[Link]ón,argumentosyvaloresderetorno
4. Ejercicio Práctico
Problema
Pista
5. Preguntas de Evaluación
a) return
b) break
c) void
d) continue
a) No compila.
b) Devuelve un valor por defecto.
c) Lanza una excepción en tiempo de ejecución.
d) Ninguna de las anteriores.
22
Desarrollo de clases Parte 5: Creación de constructores
1. Características de un Constructor
1. Mismo nombre que la clase: El constructor debe tener el mismo nombre que la clase en la que está definido.
2. No tiene tipo de retorno: A diferencia de los métodos, un constructor no especifica un tipo de retorno, ni siquiera
void.
3. Se ejecuta automáticamente: El constructor se invoca automáticamente cuando se crea un objeto con la palabra
clave new.
4. Puede recibir parámetros: Los constructores permiten pasar valores iniciales a los atributos de la clase.
5. Sobrecarga de constructores: Es posible definir múltiples constructores en una clase (sobrecarga) con diferentes
parámetros.
2. Tipos de Constructores
1. Constructor por defecto: Es el constructor vacío que proporciona Java si no se define ningún constructor.
2. Constructor parametrizado: Constructor que acepta parámetros para inicializar los atributos de la clase.
Si no definimos un constructor, Java proporciona un constructor por defecto de manera implícita. Este constructor no
realiza ninguna acción, excepto inicializar los atributos con sus valores predeterminados.
Salida:
En este caso:
• Los atributos nombre y edad tienen los valores predeterminados (null para cadenas y 0 para enteros).
Un constructor parametrizado permite pasar valores iniciales al crear un objeto. Esto ayuda a evitar valores predetermi-
nados y garantiza que los atributos tengan valores significativos.
Salida:
24
Desarrollo de clases Parte 5: Creación de constructores
3. Sobrecarga de Constructores
La sobrecarga de constructores permite definir múltiples constructores en una clase con diferentes listas de paráme-
tros. Esto proporciona flexibilidad al crear objetos.
Salida:
1. Referirse a los atributos de la clase cuando tienen el mismo nombre que los parámetros.
2. Llamar a otro constructor dentro de la misma clase.
Salida:
26
Desarrollo de clases Parte 5: Creación de constructores
5. Ejercicio Práctico
Problema
• Un constructor por defecto que inicialice los atributos con valores predeterminados.
• Un constructor parametrizado para asignar valores a todos los atributos.
• Un constructor sobrecargado que solo acepte nombre y salario.
6. Preguntas de Evaluación
a) Devuelve un valor.
b) Inicializa atributos de la clase.
c) Modifica los métodos de la clase.
d) Elimina objetos.
4. ¿Qué palabra clave se utiliza para llamar a otro constructor dentro de la misma clase?
a) this
b) super
c) return
d) new
27
Desarrollo de clases Parte 6: Ámbito de atributos y variables
Las variables de clase son variables declaradas con el modificador static dentro de una clase, pero fuera de los mé-
todos. Estas variables:
28
Desarrollo de clases Parte 6: Ámbito de atributos y variables
Salida:
Las variables de instancia son atributos que pertenecen a un objeto específico de la clase. Estas variables:
Salida:
29
Desarrollo de clases Parte 6: Ámbito de atributos y variables
Las variables locales son declaradas dentro de un método, bloque o constructor. Tienen las siguientes características:
Salida:
Suma: 15
Hola, soy una variable local
30
Desarrollo de clases Parte 6: Ámbito de atributos y variables
2. Parámetros de Método
Los parámetros de un método también tienen ámbito local. Son variables que reciben valores cuando el método es
invocado.
Salida:
Resultado de la multiplicación: 12
3. Ejercicio Práctico
Problema
31
Desarrollo de clases Parte 6: Ámbito de atributos y variables
4. Preguntas de Evaluación
a) Stack
b) Heap
c) Método principal
d) Clase estática
2. ¿Qué sucede con una variable local después de que el método termina?
a) Se mantiene en la memoria.
b) Se destruye automáticamente.
c) Se convierte en una variable de instancia.
d) Nada.
a) this
b) class
c) El nombre de la clase
d) new
32
Desarrollo de clases Parte 7: Sobrecarga de métodos
En la sobrecarga de métodos, los métodos comparten el mismo nombre, pero deben cumplir al menos una de las si-
guientes condiciones:
Importante
33
Desarrollo de clases Parte 7: Sobrecarga de métodos
Código
Salida
34
Desarrollo de clases Parte 7: Sobrecarga de métodos
Podemos definir métodos con el mismo nombre que acepten diferentes tipos de parámetros.
Código
Salida
Número entero: 42
Texto: Hola, Mundo
Número decimal: 3.1415
35
Desarrollo de clases Parte 7: Sobrecarga de métodos
El orden de los parámetros también puede ser diferente para que los métodos sean considerados como sobrecargados.
Código
Salida
36
Desarrollo de clases Parte 7: Sobrecarga de métodos
4. Ejercicio Práctico
Problema
Crea una clase Area que contenga métodos sobrecargados para calcular el área de:
Solución
Salida:
37
Desarrollo de clases Parte 7: Sobrecarga de métodos
5. Preguntas de Evaluación
a) Tipo de retorno.
b) Nombre del método.
c) Número o tipo de parámetros.
d) Comentarios en el código.
4. ¿Qué ocurre si llamas a un método sobrecargado con parámetros que coinciden con varios métodos?
38
Desarrollo de clases Parte8:[Link],deatributosydemétodos
1. Modificadores de Acceso
Modificador Acceso en la misma Acceso en el mismo Acceso en subclases Acceso desde fuera
clase paquete
public √ Sí √ Sí √ Sí √ Sí
protected √ Sí √ Sí √ Sí × No
(default) √ Sí √ Sí × No × No
private √ Sí × No × No × No
2. Modificadores de Clase
1. Clases públicas: Se declaran con la palabra clave public y pueden ser accedidas desde cualquier lugar.
1. Clases sin modificador (default): Solo son accesibles dentro del mismo paquete.
class MiClase {
// Código de la clase
}
39
Desarrollo de clases Parte8:[Link],deatributosydemétodos
3. Modificadores de Atributos
• private: Encapsula los datos, permitiendo el acceso solo a través de métodos (setters y getters).
• public: Permite acceso directo.
• protected: Accesible desde el mismo paquete y subclases.
• Sin modificador: Accesible solo desde el mismo paquete.
Salida:
Nombre: Ana
DNI: 12345678A
40
Desarrollo de clases Parte8:[Link],deatributosydemétodos
4. Modificadores de Métodos
Los métodos también pueden usar modificadores de acceso para controlar su visibilidad.
Uso de la clase:
41
Desarrollo de clases Parte8:[Link],deatributosydemétodos
Salida:
Suma: 15
Resta: 5
Multiplicación: 50
5. Ejercicio Práctico
Problema
• numeroCuenta (público)
• saldo (privado)
• titular (protegido)
• Consultar el saldo.
• Realizar un depósito.
• Realizar un retiro (verifica si el saldo es suficiente).
6. Preguntas de Evaluación
a) private
b) protected
c) public
d) Sin modificador
a) public
b) protected
c) private
d) Sin modificador
3. ¿Qué modificador de acceso permite que un atributo sea visible solo en el mismo paquete?
a) public
b) protected
c) default (sin modificador)
d) private
42
Desarrollo de clases Parte8:[Link],deatributosydemétodos
5. ¿Qué modificador permite el acceso a métodos en subclases, pero no desde otras clases externas?
a) private
b) protected
c) public
d) Sin modificador
43
Desarrollo de clases Parte9:Pasodepará[Link]
Java siempre utiliza el paso por valor para enviar parámetros a un método. Esto significa que:
Cuando se pasa un tipo primitivo a un método, se envía una copia del valor. Por lo tanto, cualquier modificación que se
realice dentro del método no afecta el valor original fuera del método.
Salida:
Explicación:
44
Desarrollo de clases Parte9:Pasodepará[Link]
Cuando se pasa un objeto a un método, se envía una copia de la referencia que apunta al objeto en memoria. Aunque
la referencia se copia, ambas referencias (la original y la copia) apuntan al mismo objeto. Por lo tanto:
Salida:
Explicación:
Importante
Si intentamos asignar una nueva referencia al objeto dentro del método, la referencia original no se verá afectada.
45
Desarrollo de clases Parte9:Pasodepará[Link]
Salida:
Explicación:
46
Desarrollo de clases Parte9:Pasodepará[Link]
3. Ejercicio Práctico
Problema
• Un atributo saldo.
• Un método depositar que aumente el saldo.
• Un método retirar que reduzca el saldo.
2. Escribe un método que acepte un objeto Cuenta como parámetro y realice un depósito y un retiro.
3. Comprueba cómo afecta al objeto original.
4. Preguntas de Evaluación
a) Objetos.
b) Tipos primitivos.
c) Referencias.
d) Ninguno de los anteriores.
47
Desarrollo de clases Parte 10: Utilización de clases y objetos
1. Creación de Objetos
Un objeto se crea utilizando la palabra clave new, que asigna memoria para el objeto y llama a un constructor para ini-
cializar sus atributos.
Sintaxis General
Ejemplo Básico
48
Desarrollo de clases Parte 10: Utilización de clases y objetos
Salida:
Podemos acceder a los atributos y métodos de un objeto utilizando el operador punto (.).
Sintaxis
[Link];
[Link]();
Ejemplo Práctico
Salida:
49
Desarrollo de clases Parte 10: Utilización de clases y objetos
Podemos crear múltiples objetos de la misma clase. Cada objeto tendrá su propia copia de los atributos de instancia.
Salida:
50
Desarrollo de clases Parte 10: Utilización de clases y objetos
Las clases en Java pueden interactuar entre sí. Una clase puede contener referencias a objetos de otra clase, lo que
facilita la creación de programas más complejos.
Salida:
51
Desarrollo de clases Parte 10: Utilización de clases y objetos
5. Ejercicio Práctico
Problema
6. Preguntas de Evaluación
a) new
b) create
c) instance
d) object
a) objeto:atributo
b) [Link]
c) atributo(objeto)
d) Ninguna de las anteriores.
52
Desarrollo de clases Parte 11: Utilización de clases heredadas
1. Concepto de Herencia
Sintaxis General
class SuperClase {
// Atributos y métodos de la superclase
}
class SubClase extends SuperClase {
// Atributos y métodos adicionales de la subclase
}
53
Desarrollo de clases Parte 11: Utilización de clases heredadas
Vamos a modelar la relación entre una clase Persona (superclase) y una clase Estudiante (subclase):
Código
// Superclase
public class Persona {
String nombre;
int edad;
public Persona(String nombre, int edad) {
[Link] = nombre;
[Link] = edad;
}
public void mostrarInformacion() {
[Link](“Nombre: “ + nombre + “, Edad: “ + edad);
}
}
// Subclase que hereda de Persona
public class Estudiante extends Persona {
String curso;
public Estudiante(String nombre, int edad, String curso) {
super(nombre, edad); // Llamada al constructor de la superclase
[Link] = curso;
}
// Método adicional en la subclase
public void mostrarCurso() {
[Link](“Curso: “ + curso);
}
}
// Clase Principal
public class Main {
public static void main(String[] args) {
Estudiante estudiante1 = new Estudiante(“Juan”, 20, “Java Básico”);
// Métodos heredados de la clase Persona
[Link]();
// Método específico de la clase Estudiante
[Link]();
}
}
54
Desarrollo de clases Parte 11: Utilización de clases heredadas
Salida
1. Acceder a atributos y métodos de la superclase que han sido ocultados por la subclase.
2. Llamar al constructor de la superclase.
55
Desarrollo de clases Parte 11: Utilización de clases heredadas
Salida
La sobrescritura de métodos (method overriding) permite que una subclase redefina un método heredado de la super-
clase. Esto se logra utilizando la anotación @Override.
56
Desarrollo de clases Parte 11: Utilización de clases heredadas
Salida
El perro ladra.
El gato maúlla.
5. Ejercicio Práctico
Problema
2. Una subclase llamada Coche que herede de Vehiculo y añada un atributo velocidadMaxima.
6. Preguntas de Evaluación
a) extends
b) inherits
c) super
d) implements
57
Desarrollo de clases Parte 11: Utilización de clases heredadas
58
Desarrollo de clases Parte12:Librerí[Link]ónycreación
1. Librería: Una librería es un conjunto de clases y métodos predefinidos que facilitan el desarrollo de software al
ofrecer funcionalidades reutilizables.
Ejemplo: La librería estándar de Java incluye paquetes como [Link], [Link], y [Link].
Los paquetes predefinidos de Java contienen clases y métodos listos para usar. Algunos ejemplos importantes inclu-
yen:
Paquete Descripción
[Link] Clases fundamentales como String, Math
[Link] Clases de utilidades como ArrayList, HashMap.
[Link] Manejo de archivos y flujos de datos.
59
Desarrollo de clases Parte12:Librerí[Link]ónycreación
Salida:
Manzana
Banana
Cereza
Los desarrolladores pueden crear sus propios paquetes para organizar sus clases.
60
Desarrollo de clases Parte12:Librerí[Link]ónycreación
// Archivo: [Link]
package mipaquete;
public class Persona {
private String nombre;
public Persona(String nombre) {
[Link] = nombre;
}
public void mostrarNombre() {
[Link](“Nombre: “ + nombre);
}
}
// Archivo: [Link]
import [Link]; // Importar la clase Persona del paquete mipaquete
public class Main {
public static void main(String[] args) {
// Crear un objeto de la clase Persona
Persona persona1 = new Persona(“Juan”);
[Link]();
}
}
61
Desarrollo de clases Parte12:Librerí[Link]ónycreación
Estructura de Directorios
/mipaquete/
[Link]
[Link]
Compilar y Ejecutar
java Main
Salida:
Nombre: Juan
4. Importar Paquetes
import [Link];
import mipaquete.*;
62
Desarrollo de clases Parte12:Librerí[Link]ónycreación
5. Paquetes y Subpaquetes
1. Clase en el subpaquete:
package [Link];
public class Estudiante {
public void mostrarInformacion() {
[Link](“Clase en un subpaquete.”);
}
}
1. Clase Principal:
import [Link];
public class Main {
public static void main(String[] args) {
Estudiante estudiante = new Estudiante();
[Link]();
}
}
Estructura de Directorios:
/mipaquete/subpaquete/
[Link]
[Link]
6. Ejercicio Práctico
Problema
63
Desarrollo de clases Parte12:Librerí[Link]ónycreación
7. Preguntas de Evaluación
a) package
b) import
c) namespace
d) class
a) import paquete.*;
b) include paquete.*;
c) import [Link];
d) [Link] *;
64
Desarrollo de clases Parte13:Documentaciónsobrelibreríasypaquetesdeclases
1. ¿Qué es Javadoc?
Javadoc es una herramienta integrada en el JDK que permite generar automáticamente documentación HTML a partir
de los comentarios especiales escritos en el código fuente de Java.
• Clases
• Métodos
• Atributos
• Paquetes
• Constructores
Para que Javadoc pueda generar documentación, es necesario usar comentarios de documentación especiales:
Sintaxis
/**
* Descripción de la clase, método o atributo.
* @param nombreParámetro Descripción del parámetro.
* @return Descripción del valor de retorno.
* @author Nombre del autor.
* @version Número de la versión.
*/
65
Desarrollo de clases Parte13:Documentaciónsobrelibreríasypaquetesdeclases
Etiqueta Descripción
java
Copiar código
/**
* La clase Calculadora realiza operaciones matemáticas básicas.
* @author Juan
* @version 1.0
*/
public class Calculadora {
/**
* Suma dos números enteros.
* @param a El primer número a sumar.
* @param b El segundo número a sumar.
* @return La suma de los dos números.
*/
public int sumar(int a, int b) {
return a + b;
}
/**
* Resta dos números enteros.
* @param a El número del cual se resta.
* @param b El número que se resta.
* @return El resultado de la resta.
*/
public int restar(int a, int b) {
return a - b;
}
66
Desarrollo de clases Parte13:Documentaciónsobrelibreríasypaquetesdeclases
/**
* Multiplica dos números enteros.
* @param a El primer número.
* @param b El segundo número.
* @return El producto de los dos números.
*/
public int multiplicar(int a, int b) {
return a * b;
}
/**
* Divide dos números enteros.
* @param a El numerador.
* @param b El denominador. No puede ser cero.
* @return El resultado de la división.
* @throws ArithmeticException Si el denominador es cero.
*/
public int dividir(int a, int b) throws ArithmeticException {
if (b == 0) {
throw new ArithmeticException(“No se puede dividir por
cero.”);
}
return a / b;
}
}
67
Desarrollo de clases Parte13:Documentaciónsobrelibreríasypaquetesdeclases
6. Documentación de Paquetes
Para documentar paquetes, puedes incluir un archivo especial llamado [Link]. Este archivo proporcio-
na información general sobre el paquete.
/**
* Este paquete contiene clases relacionadas con operaciones matemáticas.
* Proporciona una calculadora básica para realizar sumas, restas,
* multiplicaciones y divisiones.
*/
package mipaquete;
/mipaquete/
[Link]
[Link]
Ejecuta el comando:
• Esto genera documentación para todas las clases dentro del paquete mipaquete.
7. Ejercicio Práctico
Problema
68
Desarrollo de clases Parte13:Documentaciónsobrelibreríasypaquetesdeclases
8. Preguntas de Evaluación
a) Javadoc
b) DocGen
c) JavaDocs
d) JavaComment
a) @param
b) @args
c) @method
d) @return
a) java -doc
b) javadoc
c) javac -docs
d) docgen
a) [Link]
b) [Link]
c) [Link]
d) [Link]
69
Desarrollo de clases Conclusión del Bloque: Desarrollo de clases
1. Concepto de Clase
Una clase es una plantilla que define los atributos (estado) y métodos (comportamiento) que tendrán los obje-
tos.
• Ejemplo: La clase Persona con atributos nombre y edad y métodos como saludar().
3. Creación de Atributos
4. Creación de Métodos
5. Creación de Constructores
70
Desarrollo de clases Conclusión del Bloque: Desarrollo de clases
7. Sobrecarga de Métodos
La sobrecarga permite definir múltiples métodos con el mismo nombre, pero con diferentes parámetros, lo que
facilita la flexibilidad y adaptabilidad del código.
8. Visibilidad y Encapsulación
9. Paso de Parámetros
La creación de objetos a partir de clases permite modelar entidades del mundo real:
La herencia permite que una clase (subclase) herede atributos y métodos de otra clase (superclase):
La organización del código mediante paquetes permite modularizar y reutilizar clases. Además:
71
Desarrollo de clases Conclusión del Bloque: Desarrollo de clases
1. Modularidad: El uso de clases permite dividir el código en componentes más pequeños y manejables.
2. Reutilización: Clases bien definidas pueden reutilizarse en diferentes partes de un programa o incluso en otros
proyectos.
3. Encapsulación: Protege los datos y permite un acceso controlado mediante métodos específicos.
4. Extensibilidad: La herencia permite extender el comportamiento de las clases existentes sin duplicar código.
5. Organización: Los paquetes facilitan la organización lógica del proyecto, especialmente en aplicaciones grandes.
• nombre (String)
• edad (int)
• Método mostrarInformacion para imprimir los atributos.
72
Desarrollo de clases Conclusión del Bloque: Desarrollo de clases
Solución
// Superclase Persona
public class Persona {
protected String nombre;
protected int edad;
public Persona(String nombre, int edad) {
[Link] = nombre;
[Link] = edad;
}
public void mostrarInformacion() {
[Link](“Nombre: “ + nombre + “, Edad: “ + edad);
}
}
// Subclase Empleado
public class Empleado extends Persona {
private double salario;
public Empleado(String nombre, int edad, double salario) {
super(nombre, edad); // Llama al constructor de Persona
[Link] = salario;
}
@Override
public void mostrarInformacion() {
[Link]();
[Link](“Salario: “ + salario);
}
}
// Clase Principal
public class Main {
public static void main(String[] args) {
// Crear objetos de Persona
Persona persona1 = new Persona(“Ana”, 30);
// Crear objetos de Empleado
Empleado empleado1 = new Empleado(“Juan”, 25, 2500.50);
Empleado empleado2 = new Empleado(“Laura”, 28, 3000.75);
// Mostrar información
[Link](“Información de Persona:”);
[Link]();
[Link](“\nInformación de Empleados:”);
[Link]();
[Link]();
}
}
73
Desarrollo de clases Conclusión del Bloque: Desarrollo de clases
Salida Esperada
Información de Persona:
Nombre: Ana, Edad: 30
Información de Empleados:
Nombre: Juan, Edad: 25
Salario: 2500.5
Nombre: Laura, Edad: 28
Salario: 3000.75
4. Preguntas de Evaluación
a) super
b) extends
c) implements
d) inherit
a) Ocultar métodos.
b) Definir métodos con el mismo nombre pero parámetros diferentes.
c) Reescribir métodos en una subclase.
d) Ninguna de las anteriores.
a) Javadoc
b) JavaDocs
c) DocGenerator
d) CompilerDoc
74