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

  1. Classe: Una plantilla o model que defineix les propietats (atributs) i els comportaments (mètodes) que els objectes d'aquest tipus poden tenir.
  2. Objecte: Una instància d'una classe. És una entitat concreta que es crea a partir de la classe.
  3. Atributs: Variables que emmagatzemen l'estat d'un objecte.
  4. 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 atributs Nom i Edats.
  • Persona.MostrarInformacio: Crida al mètode MostrarInformacio de l'objecte Persona.

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 i FEdats 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ó

var
  Cotxe: TCotxe;
begin
  Cotxe := TCotxe.Create('Toyota', 'Corolla');
  Cotxe.MostrarDetalls;
end;

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.
Cotxe.Free;

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

Mòdul 2: Estructures de Control i Procediments

Mòdul 3: Treballant amb Dades

Mòdul 4: Programació Orientada a Objectes

Mòdul 5: Funcions Avançades de Delphi

Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX

Mòdul 7: Desenvolupament Web i Mòbil

Mòdul 8: Millors Pràctiques i Patrons de Disseny

Mòdul 9: Projecte Final

© Copyright 2024. Tots els drets reservats