Introducció
En aquest tema, explorarem els conceptes fonamentals de la Programació Orientada a Objectes (POO) en Delphi/Object Pascal, centrant-nos en les classes i els objectes. Aprendrem com definir classes, crear instàncies d'objectes i utilitzar-los en els nostres programes.
Conceptes Clau
- Classe: Una plantilla o model que defineix les propietats (atributs) i els comportaments (mètodes) que els objectes d'aquest tipus poden tenir.
- Objecte: Una instància d'una classe. És una entitat concreta que es crea a partir de la classe.
- Atributs: Variables que emmagatzemen l'estat d'un objecte.
- Mètodes: Funcions o procediments que defineixen els comportaments d'un objecte.
Definició de Classes
En Delphi, una classe es defineix utilitzant la paraula clau class
. A continuació es mostra un exemple bàsic de definició de classe:
type TPersona = class private FNom: string; FEdats: Integer; public constructor Create(Nom: string; Edats: Integer); procedure MostrarInformacio; end;
Explicació del Codi
- type: Paraula clau per definir un nou tipus.
- TPersona: Nom de la classe.
- private: Secció on es declaren els atributs privats de la classe.
- public: Secció on es declaren els mètodes públics de la classe.
- constructor Create: Constructor de la classe, utilitzat per inicialitzar els objectes.
- procedure MostrarInformacio: Mètode públic que mostra la informació de la persona.
Creació d'Objectes
Per crear una instància d'una classe, utilitzem el constructor de la classe. A continuació es mostra com crear un objecte de la classe TPersona
:
var Persona: TPersona; begin Persona := TPersona.Create('Joan', 30); Persona.MostrarInformacio; end;
Explicació del Codi
- var Persona: TPersona: Declara una variable de tipus
TPersona
. - Persona := TPersona.Create('Joan', 30): Crea una nova instància de
TPersona
i inicialitza els atributsNom
iEdats
. - Persona.MostrarInformacio: Crida al mètode
MostrarInformacio
de l'objectePersona
.
Implementació de Mètodes
Els mètodes de la classe es defineixen fora de la definició de la classe, utilitzant el nom de la classe com a prefix. A continuació es mostra com implementar el constructor i el mètode MostrarInformacio
:
constructor TPersona.Create(Nom: string; Edats: Integer); begin FNom := Nom; FEdats := Edats; end; procedure TPersona.MostrarInformacio; begin Writeln('Nom: ', FNom); Writeln('Edats: ', FEdats); end;
Explicació del Codi
- constructor TPersona.Create: Inicialitza els atributs
FNom
iFEdats
amb els valors proporcionats. - procedure TPersona.MostrarInformacio: Mostra la informació de la persona utilitzant
Writeln
.
Exercicis Pràctics
Exercici 1: Definir una Classe
Defineix una classe TCotxe
amb els atributs Marca
i Model
, i un mètode MostrarDetalls
que mostri la informació del cotxe.
Solució
type TCotxe = class private FMarca: string; FModel: string; public constructor Create(Marca, Model: string); procedure MostrarDetalls; end; constructor TCotxe.Create(Marca, Model: string); begin FMarca := Marca; FModel := Model; end; procedure TCotxe.MostrarDetalls; begin Writeln('Marca: ', FMarca); Writeln('Model: ', FModel); end;
Exercici 2: Crear i Utilitzar un Objecte
Crea una instància de la classe TCotxe
i crida al mètode MostrarDetalls
.
Solució
Errors Comuns i Consells
- No inicialitzar els atributs: Assegura't d'inicialitzar tots els atributs en el constructor.
- Oblidar alliberar la memòria: Utilitza
Free
per alliberar la memòria ocupada pels objectes quan ja no es necessiten.
Resum
En aquest tema, hem après els conceptes bàsics de les classes i els objectes en Delphi/Object Pascal. Hem vist com definir classes, crear objectes i implementar mètodes. També hem practicat aquests conceptes amb exercicis pràctics. En el proper tema, explorarem l'herència i el polimorfisme, que ens permetran crear jerarquies de classes més complexes i reutilitzar codi de manera eficient.
Curs de Programació Delphi/Object Pascal
Mòdul 1: Introducció a Delphi/Object Pascal
- Introducció a Delphi i Object Pascal
- Configuració de l'Entorn de Desenvolupament
- Primera Aplicació Delphi
- Sintaxi i Estructura Bàsiques
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control i Procediments
- Declaracions Condicionals
- Bucles i Iteració
- Procediments i Funcions
- Abast i Durada de les Variables
- Gestió d'Errors i Depuració
Mòdul 3: Treballant amb Dades
- Arrays i Cadenes
- Registres i Conjunts
- Tipus Enumerats i Subrang
- Gestió d'Arxius
- Accés a Bases de Dades
Mòdul 4: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Herència i Polimorfisme
- Interfícies i Classes Abstractes
- Gestió d'Excepcions en POO
Mòdul 5: Funcions Avançades de Delphi
- Generics i Col·leccions
- Multifil i Programació Paral·lela
- Desenvolupament Basat en Components
- Biblioteca d'Execució de Delphi (RTL)
- Tècniques Avançades de Depuració
Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX
- Introducció a VCL
- Creació de Formularis i Controls
- Programació Basada en Esdeveniments
- Introducció a FireMonkey (FMX)
- Desenvolupament Multiplataforma amb FMX
Mòdul 7: Desenvolupament Web i Mòbil
- Desenvolupament Web amb Delphi
- Serveis RESTful
- Desenvolupament Mòbil amb Delphi
- Desplegament d'Aplicacions Mòbils
- Integració amb Serveis Web
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Organització del Codi i Documentació
- Patrons de Disseny en Delphi
- Tècniques de Refactorització
- Proves Unitàries i Desenvolupament Basat en Proves
- Optimització del Rendiment