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
TPersonai inicialitza els atributsNomiEdats. - Persona.MostrarInformacio: Crida al mètode
MostrarInformaciode 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
FNomiFEdatsamb 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
Freeper 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
