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
Cotxe
té tres atributs:marca
,model
iany
. - 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 classeCotxe
anomenatelMeuCotxe
. - 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
Persona
amb els atributsnom
,edat
iciutat
. - 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