Diferència entre revisions de la pàgina «M3 - Programació Orientada a Objectes / Activitats UF4: Classes»

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 125: Línia 125:
 
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).
 
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).
 
<source lang="java">
 
<source lang="java">
package prova_uf;
+
package provamodul;
  
 
public class Modul {
 
public class Modul {
 
     private String nom;
 
     private String nom;
 
     private int hores;
 
     private int hores;
     private Uf uf[]= new Uf[3];
+
     private Uf uf[] = new Uf[3];
 
+
   
 
     public Modul(String nom, int hores, Uf[] uf) {
 
     public Modul(String nom, int hores, Uf[] uf) {
 
         this.nom = nom;
 
         this.nom = nom;
Línia 138: Línia 138:
 
              
 
              
 
     }
 
     }
   
 
        '''''Uf uf1 = new Uf("uf1",120,50.0);//Aquest codi va en la clase ProvaModul
 
        Uf uf2 = new Uf("uf2",60,25.0); //primer crearà tres objectes Uf i els posarà a la taula; 
 
        Uf uf3 = new Uf("uf3",90,25.0);
 
        this.uf[0]=uf1;
 
        this.uf[1]=uf2;
 
        this.uf[2]=uf3;''''' 
 
   
 
 
 
     public String getNom() {
 
     public String getNom() {
 
         return nom;
 
         return nom;
Línia 170: Línia 161:
 
         this.uf = uf;
 
         this.uf = uf;
 
     }
 
     }
 
+
    public void mostrarInformacio(){
    public void mostrarInformacio(){
 
 
         System.out.println("Modul: "+ this.nom);
 
         System.out.println("Modul: "+ this.nom);
 
         System.out.println("Hores Modul: "+ this.hores);
 
         System.out.println("Hores Modul: "+ this.hores);
Línia 179: Línia 169:
 
         }
 
         }
 
     }
 
     }
 +
   
 +
   
 
}
 
}
 
</source>
 
</source>
 
<!-- -->
 
<!-- -->
 
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).
 
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).
 +
<source lang="java">
 +
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();
 +
       
 +
    }
 +
   
 +
}
 +
</source>
 
<!-- -->
 
<!-- -->
  

Revisió del 20:58, 24 gen 2020

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.

package provauf_1;


public class Uf_1 {
   public String nom;
   public int hores;
   public double pes;
   
   public void posarInformacio(String nom, int hores, double pes){
      this.nom = nom;
      this.hores = hores;
      this.pes = pes;
    }
    public void llistarInformacio(){
      System.out.println("Nom:" + this.nom + ", Hores: " + this.hores + ", Pes: " + this.pes);
    }
}

Ara crea la classe ProvaUf_1 que contindrà el main i crearà una unitat formativa, li donarà valors i finalment llistarà la informació.

package provauf_1;



public class ProvaUf_1 {

    public static void main(String[] args) {
      Uf_1 uf = new Uf_1();
      uf.posarInformacio("UF1-Programació estructurada", 85, 20);
      uf.llistarInformacio();
    }
    
}

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.

public class Uf {
    private String nom;
    private int hores;
    private double pes;

    public Uf(String nom,int hores, double pes){
        this.nom = nom;
        this.hores = hores;
        this.pes = pes;
    }

    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 double getPes() {
        return pes;
    }

    public void setPes(double pes) {
        this.pes = pes;
    }
    
    
   

     public void llistarInformacio () {
         System.out.println("Nom UF: "+this.nom);
         System.out.println("Hores UF: "+this.hores);
         System.out.println("Pes UF: "+this.pes);     
   }
}


Crea la classe ProvaUf per a provar el funcionament.

package prova_uf;


public class Prova_Uf {


    public static void main(String[] args) {
       Uf uf = new Uf("UF2-Disseny modular", 66,15.5);   
       uf.llistarInformacio ();
    }
    
}

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.