Introducció
En aquest tema, aprendrem sobre la programació orientada a objectes (OOP) en Dart. La OOP és un paradigma de programació que utilitza "objectes" per representar dades i mètodes. Els objectes són instàncies de classes, que defineixen les propietats i comportaments dels objectes.
Conceptes Clau
Classes
Una classe és una plantilla per crear objectes. Defineix les propietats (atributs) i els mètodes (funcions) que els objectes creats a partir de la classe tindran.
Objectes
Un objecte és una instància d'una classe. Conté dades i mètodes definits per la seva classe.
Membres de la Classe
- Atributs: Variables que emmagatzemen dades de l'objecte.
- Mètodes: Funcions que defineixen el comportament de l'objecte.
Creació d'una Classe
Definició d'una Classe
class Persona {
// Atributs
String nom;
int edat;
// Constructor
Persona(this.nom, this.edat);
// Mètode
void saludar() {
print('Hola, em dic $nom i tinc $edat anys.');
}
}Explicació del Codi
- Atributs:
String nomiint edatsón atributs de la classePersona. - Constructor:
Persona(this.nom, this.edat)és el constructor de la classe, que inicialitza els atributsnomiedat. - Mètode:
void saludar()és un mètode que imprimeix un missatge de salutació.
Creació d'un Objecte
void main() {
// Creació d'un objecte de la classe Persona
Persona persona1 = Persona('Joan', 30);
// Ús del mètode saludar
persona1.saludar();
}Explicació del Codi
- Creació d'un Objecte:
Persona persona1 = Persona('Joan', 30);crea un objectepersona1de la classePersonaamb el nom 'Joan' i l'edat 30. - Ús del Mètode:
persona1.saludar();crida el mètodesaludarde l'objectepersona1.
Exercicis Pràctics
Exercici 1: Crear una Classe
Crea una classe Cotxe amb els atributs marca i model, i un mètode detalls que imprimeixi la marca i el model del cotxe.
Solució
class Cotxe {
// Atributs
String marca;
String model;
// Constructor
Cotxe(this.marca, this.model);
// Mètode
void detalls() {
print('Marca: $marca, Model: $model');
}
}
void main() {
// Creació d'un objecte de la classe Cotxe
Cotxe cotxe1 = Cotxe('Toyota', 'Corolla');
// Ús del mètode detalls
cotxe1.detalls();
}Exercici 2: Afegir un Mètode
Afegeix un mètode accelerar a la classe Cotxe que imprimeixi un missatge indicant que el cotxe està accelerant.
Solució
class Cotxe {
// Atributs
String marca;
String model;
// Constructor
Cotxe(this.marca, this.model);
// Mètode
void detalls() {
print('Marca: $marca, Model: $model');
}
// Nou mètode
void accelerar() {
print('$marca $model està accelerant.');
}
}
void main() {
// Creació d'un objecte de la classe Cotxe
Cotxe cotxe1 = Cotxe('Toyota', 'Corolla');
// Ús dels mètodes
cotxe1.detalls();
cotxe1.accelerar();
}Errors Comuns i Consells
Errors Comuns
- No inicialitzar els atributs: Assegura't que tots els atributs de la classe estiguin inicialitzats, ja sigui directament o a través del constructor.
- Oblidar el
thisen el constructor: Quan inicialitzis els atributs dins del constructor, utilitzathisper referir-te als atributs de la classe.
Consells
- Utilitza noms descriptius: Dona noms clars i descriptius als teus atributs i mètodes per millorar la llegibilitat del codi.
- Encapsulament: Mantingues els atributs privats (utilitzant
_abans del nom) i proporciona mètodes públics per accedir-hi i modificar-los si és necessari.
Conclusió
En aquesta secció, hem après els conceptes bàsics de les classes i objectes en Dart. Hem vist com definir una classe, crear objectes i utilitzar mètodes. Aquests conceptes són fonamentals per a la programació orientada a objectes i seran la base per a temes més avançats com herència, mixins i interfícies.
En el següent tema, explorarem els constructors en més detall, incloent-hi constructors nominals i constructors de fàbrica.
Curs de Programació en Dart
Mòdul 1: Introducció a Dart
- Introducció a Dart
- Configuració de l'Entorn de Desenvolupament
- El Teu Primer Programa en Dart
- Sintaxi i Estructura Bàsica
Mòdul 2: Conceptes Bàsics de Dart
Mòdul 3: Col·leccions
Mòdul 4: Programació Orientada a Objectes en Dart
Mòdul 5: Funcionalitats Avançades de Dart
Mòdul 6: Gestió d'Errors i Depuració
Mòdul 7: Paquets i Biblioteques de Dart
Mòdul 8: Dart per a Web i Mòbil
- Introducció a Flutter
- Construcció d'una Aplicació Simple amb Flutter
- Dart per al Desenvolupament Web
