Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
✓ Objetos
✓ Clases
✓ Campos o atributos
✓ Métodos
✓ Parámetros
1. Objetos y clases
• el objeto persona1
• el objeto a.
Convención. Los nombres de las clases comienzan con una letra mayúscula (como Persona) y los
nombres de los objetos con letras minúsculas (persona1). Esto ayuda a distinguir de qué elemento
estamos hablando.
1
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
Práctica de laboratorio 1
1. Instale la última versión de Java SE.
2. Instale el programa Visual Studio Code (VSC), con las extensiones necesarias para Java.
3. Crea una carpeta llamada lab-t1 y abre dicha carpeta desde VSC.
4. Crea los archivos: Persona.java y Programa.java
5. Presione F5 para compilar, ejecutar y depurar el programa.
6. Comente el resultado.
7. Analice la relación entre los modelos UML: clase Persona, objeto a y objeto persona1, y el código Java.
public Persona(String nombre, String apellidos, String fechaNacimiento, char sexo, double peso) {
this.nombre = nombre;
this.apellidos = apellidos;
this.fechaNacimiento = fechaNacimiento;
this.sexo = sexo;
this.peso = peso;
}
a.imprimir();
persona1.imprimir();
}
}
2
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
2. Invocar métodos.
Los métodos modelan el comportamiento de un objeto. Podemos comunicarnos con los objetos invocando
sus métodos y, generalmente, los objetos hacen algo cuando invocamos sus métodos.
Práctica de laboratorio 2
Agregue un método llamado compararEdades a la clase Programa.
import java.util.Calendar;
a.imprimir();
persona1.imprimir();
compararEdades(a, persona1);
compararEdades(persona1, a);
}
3. Parámetros.
Los parámetros proporcionan información adicional necesaria para que un método pueda realizar su tarea.
• El método edad de la clase Persona calcula la edad en función del año actual (parámetro a).
• El método estático que compararEdades, necesita como parámetros (a y b) dos objetos de la
clase Persona.
Ejemplo:
void setApellidos(String apellidos)
Nombre del método setApellidos
Tipo de dato de retorno Ninguno → void
Parámetros Número de parámetros: 1
El nombre del parámetro ofrece alguna pista sobre Parámetro 1:
el significado del dato esperado por el método. Nombre: apellidos
Tipo: String
3
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
• setApellidos(“Esono Ndong”)
• El parámetro esperado en este caso por setApellidos es una cadena de caracteres, por
tanto, debe ir entre comillas dobles.
En general:
• Para invocar un método, se escribe el nombre del método seguido de los valores de los
parámetros entre paréntesis y separados por comas.
• Los valores deben estar en acorde a sus respectivos tipos establecidos en la signatura.
1. La signatura de un método llamado b1 que devuelve un número real, recibe dos parámetros: el
primer parámetro llamado a de tipo cadena, el segundo parámetro llamado c de tipo carácter.
Observe que el método b1 devuelve un valor, por tanto, dicho valor se puede asignar a una variable,
en este caso, el valor se ha asignado a la variable x de tipo double.
Observe que el método t devuelve un valor, por tanto, dicho valor se puede asignar a una variable,
en este caso, el valor se ha asignado a la variable n de tipo int.
3. Escriba la signatura de un método que no devuelve valor alguno y recibe 3 números enteros.
Proponer un nombre para el método y los parámetros.
Observe que se ha definido un nombre para el método (miMetodo). Como dicho método no
devuelve ningún valor, no se puede asignar a una variable. Se ha definido nombres para los
parámetros también, tal como propone el ejercicio. En la invocación se proporcionan tres números
enteros para los parámetros definidos en la signatura.
5. Tipos de datos
Los parámetros tienen tipos de datos, el tipo de dato define el conjunto de valores que puede tomar un
parámetro.
En nuestro ejemplo setApellidos(“Esono Ndong”), el tipo de dato del parámetro es String, que
significa cadena de caracteres (palabra o frase). Debe poner entre comillas dobles, ejemplo =“Esono
Ndong”. En el caso del tipo carácter, debe ir entre comillas simples, ejemplo‘F’.
4
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
• Los enteros: byte, short, int, long. La diferencia es el tamaño de enteros que son capaces de representar.
• El tipo carácter: char, que representa un carácter entre comillas simples: ‘6’, ‘y’, ‘0’
• El tipo cadena String, que es una cadena de caracteres entre comillas dobles: “hola mundo”, “9”
• Los tipos reales: float y double
• El tipo lógico: boolean con dos valores posibles true o false (en minúsculas)
Ejercicio de reflexión. ¿Por qué los valores del tipo carácter y del tipo cadena deben llevar comillas simples
y dobles respectivamente?, ¿por qué los valores (enteros) de tipo byte, sort, int y long se pueden
escribir directamente?, ¿por qué los valores booleanos se pueden escribir directamente?
Los objetos tienen un estado que está representado por los valores almacenados en sus campos. Algunos
métodos, cuando son invocados, cambian el estado el objeto. Por ejemplo, el método setApellidos()
cambia el estado del objeto persona1, al modificar su apellido.
Los métodos describen el comportamiento de los objetos. Pues este comportamiento es predecible
precisamente si se conoce el estado del objeto, es decir, los valores concretos de sus campos en el momento
de invocar el método.
Ejemplo:
public class Programa {
public static void main(String[] args) {
Persona a = new Persona("Antonio", "Esono", "29/04/1967", 'M', 62.5);
a.imprimir();
a.setApellidos("Nguema Nchama");
a.imprimir();
}
}
5
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
Los objetos se pueden comunicar entre ellos invocando los métodos de los otros objetos.
public class Complejo {
private double real;
private double img;
public Complejo() {
real = 0;
img = 0;
}
import java.util.Calendar;
c.imprimir();
d.imprimir();
d.sumar(c);
d.imprimir();
}
}
Si analizamos el método sumar de la clase Complejo, vemos que hace llamadas a los métodos getReal y
getImg del objeto c (parámetro) para obtener su parte real y su parte imaginaria, para sumarlos a sus
partes real e imaginaria respectivamente.
6
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
Atributos o campos:
Modelo UML con atributos o campos: Declaración de la clase en Java, con sus atributos o campos
EstadisticasPrimerSemestre
public class EstadisticasPrimerSemestre
{
-datoEnero : double private double datoEnero;
-datoFebrero : double private double datoFebrero;
-datoMarzo : double
private double datoMarzo;
private double datoAbril;
-datoAbril : double private double datoMayo;
-datoMayo : double private double datoJunio;
-datoJunio : double private String descripcionDatos;
}
-descripcionDatos : String
7
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
Métodos:
Nombre método Tipo de dato de retorno Descripción de parámetros
suma Número real No recibe parámetros
producto Número real No recibe parámetros
escalar Ninguno Parámetro 1:
Nombre: k
Tipo de dato: entero
promedio Número real Ninguno
varianza Número real Ninguno
desviacionTipica Número real Ninguno
getDescripcionDatos Cadena de caracteres Ninguno
setDescripcionDatos Ninguno Parámetro 1:
Nombre: d
Tipo de dato: cadena
getDato Número real Parámetro 1:
Nombre: mes
Tipo de dato: entero
setDato Ninguno Parámetro 1:
Nombre: mes
Tipo de dato: entero
Parámetro 2:
Nombre: dato
Tipo de dato: número real
8
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
9
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
return this.nombreEmpresa;
this.nombreEmpresa = nombreEmpresa;
return this.nifEmpresa;
10
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
this.nifEmpresa = nifEmpresa;
return this.direccionEmpresa;
this.direccionEmpresa = direccionEmpresa;
return this.nombreCliente;
this.nombreCliente = nombreCliente;
return this.direccionCliente;
this.direccionCliente = direccionCliente;
return this.numeroFactura;
this.numeroFactura = numeroFactura;
return this.fechaFactura;
this.fechaFactura = fechaFactura;
return this.fechaVencimiento;
this.fechaVencimiento = fechaVencimiento;
return this.referencia;
this.referencia = referencia;
return this.codigoArticulo;
this.codigoArticulo = codigoArticulo;
11
Universidad Nacional de Guinea Ecuatorial. Programación Orientada a Objetos. 2022-2023 Versión
Melitón Pablo Mangué Mañana Tel: 222060362 | email: mangue@mait.gq marzo de 2023
return this.descripcionArticulo;
this.descripcionArticulo = descripcionArticulo;
return this.cantidadArticulo;
this.cantidadArticulo = cantidadArticulo;
return this.precioUnitario;
this.precioUnitario = precioUnitario;
return this.tipoImpositivo;
this.tipoImpositivo = tipoImpositivo;
9. Resumen de conceptos
✓ Objeto. Los objetos Java modelan los objetos del dominio de un problema.
✓ Clase. Los objetos se crean a partir de las clases. La clase describe la categoría del objeto; los
objetos representan instancias individuales de la clase.
✓ Método. Podemos comunicarnos con los objetos invocando sus métodos. Generalmente, los
objetos hacen algo cuando invocamos un método.
✓ Parámetro. Los métodos pueden tener parámetros para aportar información adicional para
realizar su tarea.
✓ Signatura. El encabezado de un método se denomina su signatura. Proporciona la información
necesaria para invocar dicho método.
✓ Tipo de datos. El tipo define la clase de valor que un parámetro puede tomar.
✓ Instancias múltiples. Se pueden crear muchos objetos a partir de una sola clase.
✓ Estado. Los objetos tienen un estado. El estado está representado por los valores almacenados
en los campos.
✓ Llamar métodos. Los objetos se pueden comunicar invocando los métodos de otros objetos.
✓ Código fuente. El código de una clase determina la estructura (los campos) y el comportamiento
(los métodos) de cada uno de los objetos de dicha clase.
✓ Resultado. Los métodos pueden devolver información de un objeto mediante valores de retorno.
12