Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF1: Classes»
De wikiserver
(→Exemple complert) |
|||
Línia 66: | Línia 66: | ||
<source lang="java"> | <source lang="java"> | ||
− | package | + | package clases; |
import java.util.Scanner; | import java.util.Scanner; | ||
− | public class | + | public class Clases { |
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | |||
Scanner teclat = new Scanner(System.in); | Scanner teclat = new Scanner(System.in); | ||
− | Client taulaCli [ ] = new Client [ | + | Client taulaCli [ ] = new Client [4]; |
− | for (int cli = | + | for (int cli = 0; cli < taulaCli.length; cli++) { |
− | Client nouClient | + | Client nouClient = new Client( ); // o utilitzant la taula directament: taulaCli[cli] = new Client( ); |
− | + | System.out.println("Introdueix les dades del client " + (cli+1)); | |
− | System.out. | + | System.out.print("Nom: "); |
− | nouClient.nom = teclat.nextLine; | + | nouClient.nom = teclat.nextLine(); |
+ | System.out.print("NIF: "); | ||
+ | nouClient.nif = teclat.nextLine(); | ||
taulaCli[cli] = nouClient; | taulaCli[cli] = nouClient; | ||
} | } | ||
− | for (int cli = | + | System.out.println(""); |
− | Client | + | System.out.println("Dades de tots els clients "); |
− | System.out.println(" | + | System.out.println(""); |
− | System.out.println(" | + | for (int cli = 0; cli < taulaCli.length; cli++) { |
− | } | + | System.out.println("Client " + (cli+1)); |
+ | System.out.println(" Nom: " + taulaCli[cli].nom ); | ||
+ | System.out.println(" NIF: " + taulaCli[cli].nif ); | ||
+ | } | ||
} | } | ||
− | + | ||
} | } | ||
</source> | </source> |
Revisió del 12:01, 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 clases;
import java.util.Scanner;
public class Clases {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
Client taulaCli [ ] = new Client [4];
for (int cli = 0; cli < taulaCli.length; cli++) {
Client nouClient = new Client( ); // o utilitzant la taula directament: taulaCli[cli] = new Client( );
System.out.println("Introdueix les dades del client " + (cli+1));
System.out.print("Nom: ");
nouClient.nom = teclat.nextLine();
System.out.print("NIF: ");
nouClient.nif = teclat.nextLine();
taulaCli[cli] = nouClient;
}
System.out.println("");
System.out.println("Dades de tots els clients ");
System.out.println("");
for (int cli = 0; cli < taulaCli.length; cli++) {
System.out.println("Client " + (cli+1));
System.out.println(" Nom: " + taulaCli[cli].nom );
System.out.println(" NIF: " + taulaCli[cli].nif );
}
}
}