Menu

Tradução

Português English Español Français

Classes e Objetos em Delphi

Nesse post iremos aprender sobre classes e objetos em Delphi, que fazem parte da orientação a objetos.

 

Classes e Objetos em Delphi
Lousa com o escrito Object Oriented Programming

Introdução

A linguagem de programação Delphi é conhecida por sua robustez e flexibilidade, especialmente no desenvolvimento de aplicativos desktop. Uma das características mais poderosas de Delphi é seu suporte à Programação Orientada a Objetos (POO), que permite criar software modular, reutilizável e fácil de manter. Neste artigo, vamos explorar conceitos fundamentais de POO em Delphi, focando em classes e objetos. Abordaremos a definição de classes e objetos, como declarar uma classe em Delphi, e como criar e instanciar objetos. No final, apresentaremos um exemplo prático com código para ilustrar esses conceitos.

Definição de Classes e Objetos em Delphi

Classes e objetos são elementos centrais da Programação Orientada a Objetos. Uma classe pode ser vista como um molde ou um plano que define as propriedades e comportamentos (métodos) que os objetos criados a partir dela terão. Em outras palavras, uma classe descreve um conjunto de objetos com características semelhantes.

Um objeto é uma instância de uma classe. Quando você cria um objeto, está criando uma entidade concreta que segue a estrutura definida pela classe.

  • Classe: Define a estrutura e o comportamento.
  • Objeto: Instância concreta da classe.

Como Declarar uma Classe em Delphi

Em Delphi, declarar uma classe envolve usar a palavra-chave class. Aqui está uma estrutura básica de como uma classe é declarada:

Delphi

type
  TMinhaClasse = class
  private
    FPropriedade: Integer;
  public
    procedure MeuMetodo;
    function ObterPropriedade: Integer;
    procedure DefinirPropriedade(Valor: Integer);
  end;
  

Nesta declaração:

  • TMinhaClasse é o nome da classe, seguindo a convenção de nomenclatura PascalCase com um prefixo T.
  • FPropriedade é um campo privado da classe.
  • MeuMetodo, ObterPropriedade e DefinirPropriedade são métodos públicos da classe.

Criando e Instanciando Objetos

Para criar um objeto a partir de uma classe em Delphi, usamos o método Create da classe. Aqui está um exemplo de como instanciar um objeto e usar seus métodos:

Delphi

var
  Objeto: TMinhaClasse;
begin
  Objeto := TMinhaClasse.Create;
  try
    Objeto.DefinirPropriedade(10);
    ShowMessage('Propriedade: ' + IntToStr(Objeto.ObterPropriedade));
    Objeto.MeuMetodo;
  finally
    Objeto.Free;
  end;
end;
  
  • Objeto := TMinhaClasse.Create; cria uma nova instância da classe TMinhaClasse.
  • O método Free é usado para liberar a memória ocupada pelo objeto quando ele não é mais necessário.

Exemplo Prático com Código

Vamos construir um exemplo prático para consolidar esses conceitos. Suponha que queremos criar uma classe que represente uma pessoa. Cada pessoa terá um nome e uma idade para exibir suas informações.

Configurando o Ambiente

  1. Abrindo o Delphi: Abra o Delphi e crie um novo projeto VCL Forms Application.
  2. Configurando o Formulário Principal: Adicione os seguintes componentes ao formulário:
  • TButton (btnExibirDados): Para executar exibir os dados do objeto pessoa.
Delphi

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  // Definindo a classe TPessoa
  TPessoa = class
  private
    FNome: String;
    FIdade: Integer;
  public
    // Métodos para definir e exibir propriedades
    procedure SetNome(const Nome: String);
    procedure SetIdade(Idade: Integer);
    procedure ExibirDados;
  end;

  TForm1 = class(TForm)
    btnExibirDados: TButton;
    procedure btnExibirDadosClick(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TPessoa }

procedure TPessoa.ExibirDados;
begin
  ShowMessage('Nome: ' + FNome + sLineBreak + 'Idade: ' + IntToStr(FIdade));
end;

procedure TPessoa.SetIdade(Idade: Integer);
begin
  FIdade := Idade;
end;

procedure TPessoa.SetNome(const Nome: String);
begin
  FNome := Nome;
end;

{ TForm1 }

procedure TForm1.btnExibirDadosClick(Sender: TObject);
var
  Pessoa: TPessoa;
begin
  // Criando e utilizando um objeto da classe TPessoa
  Pessoa := TPessoa.Create;
  try
    Pessoa.SetNome('João Silva');
    Pessoa.SetIdade(30);
    Pessoa.ExibirDados;
  finally
    Pessoa.Free; // Liberando a memória usada pelo objeto
  end;

end;

end.
  

Explicação do Código

  1. Definição da Classe TPessoa:
    • A classe TPessoa é definida com duas propriedades privadas: FNome e FIdade.
    • Três métodos públicos são declarados: SetNome, SetIdade e ExibirDados.
    • SetNome e SetIdade são usados para definir os valores das propriedades.
    • ExibirDados exibe uma mensagem com o nome e a idade da pessoa.
  2. Implementação dos Métodos da Classe:
    • SetNome e SetIdade simplesmente atribuem valores às propriedades FNome e FIdade, respectivamente.
    • ExibirDados usa ShowMessage para mostrar uma mensagem contendo o nome e a idade da pessoa.
  3. Criação e Uso do Objeto TPessoa:
    • No evento do botão btnExibirDadosClick do formulário principal, um objeto da classe TPessoa é criado.
    • Os métodos SetNome e SetIdade são chamados para definir as propriedades do objeto.
    • ExibirDados é chamado para exibir os dados da pessoa.
    • Finalmente, Pessoa.Free é chamado para liberar a memória usada pelo objeto.
Veja abaixo a ilustração do projeto:
Ilustração do projeto.

Código fonte do exemplo

Você pode fazer o download do exemplo do projeto através do repositório do github:

https://github.com/Gisele-de-Melo/ClassePessoa

Conclusão

Neste artigo, exploramos os conceitos de classes e objetos em Delphi, mostrando como declarar uma classe, criar e instanciar objetos, e apresentando um exemplo prático com código. A Programação Orientada a Objetos em Delphi oferece uma maneira poderosa de organizar e estruturar seu código, tornando-o mais modular, reutilizável e fácil de manter. Incentivamos você a continuar experimentando e aprofundando seus conhecimentos em POO para aproveitar ao máximo o potencial de Delphi. Com prática e dedicação, você poderá desenvolver aplicações robustas e eficientes.

Posts Relacionados


Nenhum comentário:

Postar um comentário

Recursividade em Delphi: Conceitos, Exemplos e Aplicações Práticas

Neste post, você aprenderá quando usar recursividade em Delphi, suas vantagens e desvantagens, além de um exemplo prático implementa...