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

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 13 revisions intermèdies del mateix usuari que no es mostren)
Línia 8: Línia 8:
  
 
fes un altre mètode '''llistarInformacio''' que mostrarà per pantalla la informació de la unitat formativa.
 
fes un altre mètode '''llistarInformacio''' que mostrarà per pantalla la informació de la unitat formativa.
<!-- -->
+
<!--
<pre>
+
<source lang="java">  
</pre>
+
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);
 +
    }
 +
}
 +
</source>
 +
-->
 
Ara crea la classe '''ProvaUf_1''' que contindrà el '''main''' i crearà una unitat formativa, li
 
Ara crea la classe '''ProvaUf_1''' que contindrà el '''main''' i crearà una unitat formativa, li
 
donarà valors i finalment llistarà la informació.
 
donarà valors i finalment llistarà la informació.
<!-- -->
+
<!--
<pre>
+
<source lang="java">
</pre>
+
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();
 +
    }
 +
   
 +
}
 +
</source>
 +
-->
 +
 
 
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.
 
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.
<!-- -->
+
<!--  
<pre>
+
<source lang="java">
 
public class Uf {
 
public class Uf {
 
     private String nom;
 
     private String nom;
Línia 63: Línia 96:
 
   }
 
   }
 
}
 
}
 +
</source>
 +
-->
  
</pre>
+
Crea la classe '''ProvaUf''' per a provar el funcionament.
 +
<!--
 +
<source lang="java">
  
Crea la classe '''ProvaUf''' per a provar el funcionament.
 
<!-- -->
 
<pre>
 
 
package prova_uf;
 
package prova_uf;
  
Línia 76: Línia 110:
  
 
     public static void main(String[] args) {
 
     public static void main(String[] args) {
       Uf uf = new Uf("UF4", 66,15.5);   
+
       Uf uf = new Uf("UF2-Disseny modular", 66,15.5);   
 
       uf.llistarInformacio ();
 
       uf.llistarInformacio ();
 
     }
 
     }
 
      
 
      
 
}
 
}
 +
</source>
 +
-->
  
</pre>
 
 
3. Crearem ara la classe '''Modul''' que contindrà la següent informació:
 
3. Crearem ara la classe '''Modul''' que contindrà la següent informació:
 
<pre>
 
<pre>
Línia 90: Línia 125:
 
</pre>
 
</pre>
 
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).
<!-- -->
+
<!--
<pre>
+
<source lang="java">
</pre>
+
package provamodul;
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).
 
<!-- -->
 
<pre>
 
package prova_uf;
 
  
 
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;
 
         this.hores = hores;
 
         this.hores = hores;
 
         this.uf=uf;
 
         this.uf=uf;
       
+
           
        Uf uf1 = new Uf("uf1",120,50.0);
 
        Uf uf2 = new Uf("uf2",60,25.0);
 
        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 141: Línia 163:
 
         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 150: Línia 171:
 
         }
 
         }
 
     }
 
     }
 +
   
 +
   
 +
}
 +
</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).
 +
<!--
 +
<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();
 +
       
 +
    }
 +
   
 
}
 
}
</pre>
+
</source>
 +
-->
 +
 
 
'''Ampliació:''' Modifica l’exercici per a permetre a voluntat de l’usuari anar creant mòduls
 
'''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
 
(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.
 
introducció cal mostrar la informació de tots els mòduls creats.
<!-- -->
+
<!--
<pre>
+
<source lang="java">
</pre>
+
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();
 +
           
 +
        }
 +
 
 +
   
 +
    }
 +
   
 +
}
 +
</source>
 +
-->

Revisió de 15:31, 9 maig 2022

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). 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).

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.