M3 - Programació Orientada a Objectes / Activitats UF4: Classes

De wikiserver
Dreceres ràpides: navegació, cerca

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();
            
        }
  
    
    }
    
}