Introducció
En la programació orientada a objectes (POO), les classes i els objectes són conceptes fonamentals. Una classe és una plantilla o un plànol que defineix les propietats (atributs) i els comportaments (mètodes) que els objectes d'aquesta classe poden tenir. Un objecte és una instància d'una classe.
Conceptes Clau
Classe
- Definició: Una classe és una plantilla que defineix les propietats i els comportaments dels objectes.
- Sintaxi: La definició d'una classe en Java es fa amb la paraula clau
class.
Objecte
- Definició: Un objecte és una instància d'una classe. És una entitat que té estat i comportament.
- Creació: Els objectes es creen utilitzant la paraula clau
new.
Exemple Pràctic
Definició d'una Classe
// Definició d'una classe anomenada Cotxe
public class Cotxe {
// Atributs de la classe
String marca;
String model;
int any;
// Mètode de la classe
void accelerar() {
System.out.println("El cotxe està accelerant.");
}
}Creació d'Objectes
public class Main {
public static void main(String[] args) {
// Creació d'un objecte de la classe Cotxe
Cotxe elMeuCotxe = new Cotxe();
// Assignació de valors als atributs de l'objecte
elMeuCotxe.marca = "Toyota";
elMeuCotxe.model = "Corolla";
elMeuCotxe.any = 2020;
// Crida al mètode de l'objecte
elMeuCotxe.accelerar();
// Mostra de les propietats de l'objecte
System.out.println("Marca: " + elMeuCotxe.marca);
System.out.println("Model: " + elMeuCotxe.model);
System.out.println("Any: " + elMeuCotxe.any);
}
}Explicació del Codi
-
Definició de la Classe:
- La classe
Cotxeté tres atributs:marca,modeliany. - La classe també té un mètode
accelerar()que imprimeix un missatge.
- La classe
-
Creació d'Objectes:
- En la classe
Main, es crea un objecte de la classeCotxeanomenatelMeuCotxe. - Es defineixen els valors dels atributs de l'objecte.
- Es crida al mètode
accelerar()de l'objecte. - Es mostren les propietats de l'objecte utilitzant
System.out.println.
- En la classe
Exercicis Pràctics
Exercici 1: Definició i Creació d'Objectes
-
Definició de la Classe:
- Defineix una classe anomenada
Personaamb els atributsnom,edaticiutat. - Afegeix un mètode
saludar()que imprimeixi un missatge de salutació.
- Defineix una classe anomenada
-
Creació d'Objectes:
- Crea un objecte de la classe
Persona. - Assigna valors als atributs de l'objecte.
- Crida al mètode
saludar()de l'objecte. - Mostra les propietats de l'objecte.
- Crea un objecte de la classe
Solució de l'Exercici 1
// Definició de la classe Persona
public class Persona {
// Atributs de la classe
String nom;
int edat;
String ciutat;
// Mètode de la classe
void saludar() {
System.out.println("Hola, el meu nom és " + nom + ".");
}
}
// Classe principal per crear objectes
public class Main {
public static void main(String[] args) {
// Creació d'un objecte de la classe Persona
Persona persona1 = new Persona();
// Assignació de valors als atributs de l'objecte
persona1.nom = "Joan";
persona1.edat = 30;
persona1.ciutat = "Barcelona";
// Crida al mètode de l'objecte
persona1.saludar();
// Mostra de les propietats de l'objecte
System.out.println("Nom: " + persona1.nom);
System.out.println("Edat: " + persona1.edat);
System.out.println("Ciutat: " + persona1.ciutat);
}
}Errors Comuns i Consells
- No inicialitzar els atributs: Assegura't d'assignar valors als atributs abans d'utilitzar-los.
- Oblidar la paraula clau
new: Recorda que per crear un objecte has d'utilitzarnew. - Confondre la definició de la classe amb la creació d'objectes: La definició de la classe és la plantilla, mentre que la creació d'objectes és la instanciació d'aquesta plantilla.
Resum
En aquesta secció, hem après sobre les classes i els objectes en Java. Hem vist com definir una classe, com crear objectes d'aquesta classe i com utilitzar els atributs i mètodes dels objectes. També hem practicat aquests conceptes amb un exercici pràctic. En la següent secció, explorarem els mètodes en més detall.
Curs de Programació en Java
Mòdul 1: Introducció a Java
- Introducció a Java
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
- Operadors
Mòdul 2: Flux de Control
Mòdul 3: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Mètodes
- Constructors
- Herència
- Polimorfisme
- Encapsulació
- Abstracció
Mòdul 4: Programació Orientada a Objectes Avançada
Mòdul 5: Estructures de Dades i Col·leccions
Mòdul 6: Gestió d'Excepcions
Mòdul 7: Entrada/Sortida de Fitxers
- Lectura de Fitxers
- Escriptura de Fitxers
- Fluxos de Fitxers
- BufferedReader i BufferedWriter
- Serialització
Mòdul 8: Multithreading i Concurrència
- Introducció al Multithreading
- Creació de Fils
- Cicle de Vida dels Fils
- Sincronització
- Utilitats de Concurrència
Mòdul 9: Xarxes
- Introducció a les Xarxes
- Sockets
- ServerSocket
- DatagramSocket i DatagramPacket
- URL i HttpURLConnection
