[Delphi] Orientação a objetos: palavra-chave DEFAULT

26/05/2017

0

boa tarde amigos;

Recentemente vi o uso da palavra "default" dentro de uma classe no Delphi. O que significa isso alguém sabe?

exemplo:

 TCarList = class(TObjectList)
  private
    function getcar(aindex: integer): TCar;
    procedure setcar(aindex: integer; const Value: TCar);
  public
    property items[aindex: integer] : TCar read getcar write setcar; default;
    function add(acar:TCar): integer;
  end;


abraços
Gladstone Matos

Gladstone Matos

Responder

Post mais votado

26/05/2017

Significa dizer que esta propriedade é a propriedade padrão da classe.

Veja um exemplo prático:

Declarando a propriedade GetCar como Default:

type
  TCar = class
  public
    function Beep: string; virtual;
  end;

  TCarList1 = class(TObjectList)
  private
    function GetCar(AIndex: integer): TCar;
    procedure SetCar(AIndex: integer; const Value: TCar);
  public
    function Add(ACar: TCar): integer;
    property Items[AIndex: integer]: TCar read GetCar write SetCar; Default; // usei Default
  end;


Você pode chamar diretamente sem utilizar o nome da propriedade GetCar

var
  cars: TCarList1;
  car: TCar;
  i: integer;
begin
  cars := TCarList1.Create;

  cars.Add(TCar.Create);
  cars.Add(TCar.Create);

  for i := 0 to cars.Count - 1 do
    Memo1.Lines.Add(cars[i].Beep); // Repare que chamei diretamente sem utilizar o nome da propriedade GetCar
end;


Se remover a palavrar chave Default da proprieade Getcar:
property Items[AIndex: integer]: TCar read GetCar write SetCar;


Para chamar esta propriedade você vai precisar chamá-la pelo nome:

var
  cars: TCarList1;
  car: TCar;
  i: integer;
begin
  cars := TCarList1.Create;

  cars.Add(TCar.Create);
  cars.Add(TCar.Create);

  for i := 0 to cars.Count - 1 do
    Memo1.Lines.Add(cars.GetCar(i).Beep);
end;

Natanael Ferreira

Natanael Ferreira
Responder

Mais Posts

26/05/2017

Gladstone Matos

WOW super entendido! MUITO obrigado Natanael! :)
#mestre
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar