Capítulo 2: Fundamentos da Programação Orientada a Objetos
2.1 Classes e Objetos
Na Programação Orientada a Objetos, uma classe é uma estrutura que define as características (atributos) e ações (métodos) de um objeto. Ela serve como um modelo a partir do qual os objetos, ou instâncias da classe, são criados.
Um objeto é uma instância de uma classe que contém valores específicos para os atributos e pode executar os métodos definidos pela classe.
Vamos explorar como definir uma classe e instanciar objetos usando Delphi e Lazarus. Em Object Pascal, a sintaxe é compatível entre essas ferramentas, facilitando a transição entre elas.
Exemplo Prático: Criando uma Classe Simples
Neste exemplo, vamos criar uma classe TPessoa que representa uma pessoa, com atributos básicos como nome e idade, e um método para apresentar informações sobre a pessoa.
unit PessoaUnit;
interface
type
TPessoa = class
private
FNome: string;
FIdade: Integer;
public
// Construtor da classe
constructor Create(Nome: string; Idade: Integer);
// Métodos
procedure ExibirInformacoes;
// Propriedades
property Nome: string read FNome write FNome;
property Idade: Integer read FIdade write FIdade;
end;
implementation
uses
SysUtils;
{ TPessoa }
constructor TPessoa.Create(Nome: string; Idade: Integer);
begin
FNome := Nome;
FIdade := Idade;
end;
procedure TPessoa.ExibirInformacoes;
begin
WriteLn('Nome: ' + FNome);
WriteLn('Idade: ' + IntToStr(FIdade));
end;
end.
Neste código, criamos a unidade PessoaUnit e definimos a classe TPessoa:
- Atributos privados
FNomeeFIdade: São os dados da pessoa e são declarados comoprivatepara serem acessados apenas dentro da classe. - Construtor
Create: Um método especial que inicializa uma nova instância deTPessoacom um nome e uma idade. - Método
ExibirInformacoes: Exibe o nome e a idade da pessoa. - Propriedades
NomeeIdade: Propriedades públicas que permitem acessar e modificar os atributos privadosFNomeeFIdade.
Instanciando e Utilizando Objetos
Agora que temos nossa classe TPessoa, podemos instanciar objetos dela e utilizar seus métodos e propriedades.
program ExemploPessoa;
uses
SysUtils, PessoaUnit;
var
Pessoa: TPessoa;
begin
// Criando uma instância de TPessoa
Pessoa := TPessoa.Create('João Silva', 30);
// Utilizando o método para exibir informações
Pessoa.ExibirInformacoes;
// Modificando uma propriedade
Pessoa.Nome := 'Maria Souza';
Pessoa.Idade := 25;
// Exibindo as novas informações
Pessoa.ExibirInformacoes;
// Liberando a memória do objeto
Pessoa.Free;
end.
Explicação do Código
- Instanciação do Objeto:
Pessoa := TPessoa.Create('João Silva', 30);– Aqui, criamos um novo objetoPessoado tipoTPessoae o inicializamos com o nome “João Silva” e idade 30.
- Chamando o Método
ExibirInformacoes:Pessoa.ExibirInformacoes;– Executa o métodoExibirInformacoes, exibindo o nome e a idade da pessoa.
- Modificando Propriedades:
Pessoa.Nome := 'Maria Souza';ePessoa.Idade := 25;– Modificamos o nome e a idade da pessoa diretamente usando as propriedadesNomeeIdade.
- Liberação da Memória:
Pessoa.Free;– É importante liberar a memória ocupada pelo objeto quando não precisamos mais dele, evitando vazamento de memória.
Conclusão
Com o exemplo acima, aprendemos a criar uma classe em Delphi e Lazarus, definir atributos e métodos, e manipular objetos de forma prática. Nos próximos tópicos, exploraremos mais profundamente os pilares da POO, como encapsulamento, herança e polimorfismo, que ajudarão a estruturar o código de maneira mais eficiente e modular.
Continue o curso no próximo post!
Curso de Programação Orientada a Objetos – 2.2 Atributos e Métodos
#CursoPOO #GiovaniDaCruz
