Vous êtes sur la page 1sur 2

Centro Regional Universitario de Veraguas

Facultad de Informática, Electrónica y Comunicación


Inf212-Programación Orientada a Objetos

Laboratorio #5
Encapsulación

La encapsulación es la capacidad de un objeto de ser un contenedor (o cápsula) de sus


propiedades y comportamiento. Esto significa que los datos o variables y el código del objeto deben estar
ocultos detrás de la interfaz. La idea es que la interfaz (método público en una clase) que esté bien
diseñada y en consecuencia sea permanentemente consistente, permita interactuar con los objetos aún
cuando se den cambios en sus respectivos códigos.

Si nos referimos a un objeto real como el radio de un auto, nótese que los datos y el
comportamiento están ocultos, no obstante la interfaz del aparato permite almacenar y modificar valores
como las frecuencias de las emisoras favoritas. El conductor puede enviar un mensaje al aparato
(mediante un botón) para cambiar la emisora actual. Cómo se realiza el comportamiento del radio no
está a la vista del usuario.

I. Con lo anterior en mente, escriba un programa en Java estrictamente orientado a objetos que
capture el nombre, puesto que ocupa y la asignatura de mayor calificación de N estudiantes. El programa
debe determinar el nombre del estudiante con mayor puesto y la asignatura con mayor calificación. Ni la
clase que representa al estudiante ni la clase que contiene al main deben realizar entradas ni salidas.

Considere los siguientes aspectos:


 Diseñe e implemente una clase que permita capturar datos para cualquiera que sea la
aplicación, de manera que el programa que recurra a ella sea el único conocedor de lo
que se desea capturar.
 Deben existir N objetos Estudiantes creados en la clase principal (la que contiene al
main).
 La salida debe desplegase con un mensaje a un método de la clase que hace la entrada
y salida(I/O). Esto implica que usted debe construir el mensaje de salida para usarlo en
la interfaz del método de la clase I/O.
 Ni la clase principal ni la clase Estudiante pueden hacer I/O
 La clase Estudiante contiene todos los métodos relativos a la actividad del o con el
estudiante.
 Cada método debe atender solo una tarea o función.
 Incluya cada clase en un archivo diferente.

II. Adicione a la clase Estudiante un método para calcular la calificación


promedio de un estudiante. Use la clase I/O sin modificarla para capturar las
notas de los N estudiantes, sus respectivos nombres y cédulas. Implemente otra
clase Principal para controlar la ejecución. Lea una cédula para saber a que
estudiante se le debe calcular el promedio.

Es importante que usted haga una revisión y análisis de la solución de


estos problemas para que tenga claridad en los conceptos; interfaz,
encapsulación, clase, objeto, método y mensaje. Note que el método que
determina el promedio y el que busca la persona de mejor puesto de honor
deben devolver objetos estudiantes.

Diego Santimateo G.
Centro Regional Universitario de Veraguas
Facultad de Informática, Electrónica y Comunicación
Inf212-Programación Orientada a Objetos

Clase Principal
import javax.swing.*;
import java.text.*;
import java.lang.String.*;

class Principal{

public static void main(String[] args) {

CapturaDespliega acces = new CapturaDespliega();


int n=acces.getCant();
String dat;
System.out.println("n...."+n);

Estudiante [] arr= new Estudiante[n];

for(int i=0;i<n;i++){
dat=acces.Captura();
String[] datos = dat.split(";");
int puest = Integer.parseInt(datos[2]);
// llega al constructor y a la clase
arr[i]=new Estudiante(datos[0],datos[1],puest);
}

Estudiante est1=new Estudiante();


Estudiante datest=est1.getPuestMayor(arr);
acces.Despliega(datest);

Diego Santimateo G.

Vous aimerez peut-être aussi