M3 - Programació Orientada a Objectes / Activitats UF4: Classes
1. Crea la classe Uf_1, que representarà una unitat formativa. La classe contindrà la següent informació:
String nom; int hores; double pes; //representa el pes dins del mòdul
fes un mètode anomenat posarInformacio que tindrà tres paràmetres per assignar la informació a la UF.
fes un altre mètode llistarInformacio que mostrarà per pantalla la informació de la unitat formativa. Ara crea la classe ProvaUf_1 que contindrà el main i crearà una unitat formativa, li donarà valors i finalment llistarà la informació.
2. Crea la classe Uf que serà una modificació de la de l’exercici anterior. Tindrà tots els atributs privats i els mètodes get i set per accedir als atributs. Eliminarem el mètode posarInformacio i utilitzarem un constructor per a donar-li tots els valors.
Crea la classe ProvaUf per a provar el funcionament.
3. Crearem ara la classe Modul que contindrà la següent informació:
String nom; int hores; Uf uf [ ]; //Taula que contindrà les Uf del mòdul. Suposarem 3 Uf.
Tindrà un constructor al qual li passarem totes les dades, els atributs seran privats, i tindrà els mètodes get i set per accedir als atributs. També tindrà un mètode anomenat mostraInformacio el qual mostrarà el nom, el número d’hores i per a cada UF tota la informació (cal utilitzar el mètode llistarInformacio de la classe Uf).
package provamodul;
public class Modul {
private String nom;
private int hores;
private Uf uf[] = new Uf[3];
public Modul(String nom, int hores, Uf[] uf) {
this.nom = nom;
this.hores = hores;
this.uf=uf;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public int getHores() {
return hores;
}
public void setHores(int hores) {
this.hores = hores;
}
public Uf[] getUf() {
return uf;
}
public void setUf(Uf[] uf) {
this.uf = uf;
}
public void mostrarInformacio(){
System.out.println("Modul: "+ this.nom);
System.out.println("Hores Modul: "+ this.hores);
for (int i = 0; i < this.uf.length; i++) {
uf[i].llistarInformacio();
}
}
}
Finalment crearem la classe ProvaModul la qual crearà un mòdul amb tota la informació i la mostrarà (cal entendre que per a crear aquest mòdul primer caldrà crear tres objectes Uf i posar-les a la taula).
package provamodul;
public class ProvaModul {
public static void main(String[] args) {
String nom;
int hores;
Uf uf[] = new Uf[3];
nom = "M3-Programació";
hores = 264;
uf[0] = new Uf("UF1-Programació estructurada", 80, 25);
uf[1] = new Uf("UF2-Disseny modular", 66, 15.5);
uf[2] = new Uf("UF3-Fonaments de gestió de fitxers ", 66, 10);
Modul modul = new Modul(nom, hores, uf);
modul.mostrarInformacio();
}
}
Ampliació: Modifica l’exercici per a permetre a voluntat de l’usuari anar creant mòduls (fins a un màxim de 10) que aniràs posant en una taula de mòduls. Al final de la introducció cal mostrar la informació de tots els mòduls creats.
package provamodul;
import java.util.Scanner;
public class ProvaModul {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
Modul modul[] = new Modul[10];
int numModuls = 0;
System.out.println("Vols introduir un nou mòdul (S / N): ");
char resposta = Character.toUpperCase(teclat.next().charAt(0));
while (resposta =='S' && numModuls<10){
System.out.println("Nom del mòdul: ");
String nom = teclat.next();
System.out.println("Hores del mòdul: ");
int hores = teclat.nextInt();
System.out.println("Quantes Uf's te el mòdul: (màxim 3)");
int numUf = teclat.nextInt();
Uf uf[] = new Uf[numUf];
for (int i = 0; i < numUf; i++) {
System.out.println("Nom Unitat formativa: )");
String nomUf = teclat.next();
System.out.println("Hores Unitat formativa: )");
int horesUf = teclat.nextInt();
System.out.println("Pes Unitat formativa: )");
int pesUf = teclat.nextInt();
uf[i] = new Uf(nomUf, horesUf, pesUf);
}
modul[numModuls] = new Modul(nom, hores, uf);
numModuls++;
System.out.println("Vols introduir un nou mòdul (S / N): ");
resposta = Character.toUpperCase(teclat.next().charAt(0));
}
for (int i = 0; i < numModuls; i++) {
modul[i].mostrarInformacio();
}
}
}