Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF1: Classes»

De wikiserver
Dreceres ràpides: navegació, cerca
(Exemple complert)
Línia 61: Línia 61:
 
==Exemple complert==
 
==Exemple complert==
  
Omplir una taula de tres clients i a continuació mostra les dades dels tres clients:
+
Omplir una taula de quatre clients i a continuació mostra les dades dels quatre clients:
 +
 
 +
:* Només introduirem el nom i el NIF.
  
 
<source lang="java">
 
<source lang="java">
Línia 73: Línia 75:
  
 
         Scanner teclat = new Scanner(System.in);
 
         Scanner teclat = new Scanner(System.in);
          
+
         Client taulaCli [ ] = new Client [5];
 
+
   
 
+
         for (int cli = 1; cli <= taulaCli.length; i++) {
        System.out.print("Introdueix el número de línies: ");
+
          Client nouClient; = new Client( ); // o utilitzant la taula directament: taulaCli[cli] = new Client( );  
        int lin = teclat.nextInt();
+
         
         for (int i = 1; i <= lin; i++) {
+
          System.out.print("Introdueix el nom del client " + cli ":");
            if (i%2==1){
+
          nouClient.nom = teclat.nextLine;
                for (int j = 1; j <=lin; j++) {
+
          taulaCli[cli] = nouClient;
                    if (j%2==1){
 
                      System.out.print("* ");
 
                    }
 
                    else {
 
                    System.out.print(" ");
 
                    }
 
                }   
 
            } else{
 
                for (int j = 1; j <=lin; j++) {
 
                    if (j%2==1){
 
                      System.out.print(" ");
 
                    }
 
                    else {
 
                    System.out.print("* ");
 
                    }
 
                  } 
 
 
 
                }         
 
            System.out.println("");
 
 
         }
 
         }
 
+
        for (int cli = 1; cli <= taulaCli.length; i++) {
 +
          Client nouClient; = new Client( );  // o utilitzant la taula directament: taulaCli[cli] = new Client( );         
 +
          System.out.println("Client " + cli + " :" );
 +
          System.out.println("Nom: " + taulaCli[cli].nom );
 +
        }         
 
     }
 
     }
  
 
}
 
}
 
</source>
 
</source>

Revisió del 11:54, 3 juny 2020

Nota: Aquest punt presenta una gran simplificació del funcionament real de les classes amb Java. A la unitat formativa 4 veurem realment com cal treballar.

  • Les classes són estructures de dades complexes que permeten emmagatzemar dades de diferent o del mateix tipus.
  • La seva forma és lliure i està en funció de les necessitats del programa.
  • És necessari definir la seva forma indicant els seus camps.
  • Cada camp pot ser qualsevol de qualsevol tipus de dades inclòs una altra classe.
  • En el nivell en que estem, podem considerar la definició d’una classe com si definíssim una taula de base de dades.

Declaració de classes

  • Una classe es declara en un fitxer separat amb extensió .java (des de Netbeans cal fer només “nova classe java”).
  • No tindrà el mètode main donat que és una definició de tipus de dades.
  • Cal declarar els atributs que volem que tingui aquest nou tipus de dades.
  • Exemple Clase Client (fitxer Client.java) defineix un nou tipus de dades anomenat Client el qual pot guardar la informació bancària d’una persona:
public class Client{
     String nom;
     String nif;
     String adreça;
     long numCompte;
     float saldo;
}

Declaració d’objectes

  • Objecte són les variables que no són d'un tipus de dades primitiu.
  • Declaració:
   Client nouClient = new Client( );  
   
  • nouClient serà un objecte de tipus Client.
  • Cada vegada que es crei un nou client s'ha de fer new Client();
  • Taules de objectes Client:
   Client taula [ ] = new Client [50];
  • Aquí declarem una taula per emmagatzemar 50 clients.
  • Si volem introduir 50 clients haurem de fer 50 new Client();

Accés als camps

  • Els camps d’un objecte es tracten de forma individual.
  • S'utilitza l’operador “punt” ( . ).
  • Forma general: objecte.nom_camp
  • Exemple:
   nouClient.nom =”Albert Canela”;
   nouClient.nif=”32435465H”;
   nouClient.adreça=”Rue del Percebe, 13”;
   nouClient.numCompte= 34232312;
   nouClient.saldo=123.45;


Exemple complert

Omplir una taula de quatre clients i a continuació mostra les dades dels quatre clients:

  • Només introduirem el nom i el NIF.
package daw;

import java.util.Scanner;

public class ExClases {

    public static void main(String[] args) {

        Scanner teclat = new Scanner(System.in);
        Client taulaCli [ ] = new Client [5];
     
        for (int cli = 1; cli <= taulaCli.length; i++) {
           Client nouClient; = new Client( );  // o utilitzant la taula directament: taulaCli[cli] = new Client( ); 
          
           System.out.print("Introdueix el nom del client " + cli ":");
           nouClient.nom = teclat.nextLine;
           taulaCli[cli] = nouClient;
        }
        for (int cli = 1; cli <= taulaCli.length; i++) {
           Client nouClient; = new Client( );  // o utilitzant la taula directament: taulaCli[cli] = new Client( );           
           System.out.println("Client " + cli + " :" );
           System.out.println("Nom: " + taulaCli[cli].nom );
        }          
    }

}