M3 - Programació estructurada / Continguts UF1: Classes
De wikiserver
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 );
}
}
}