Fórum [Delphi] Orientação a objetos: palavra-chave DEFAULT #581818
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:
abraços
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
Curtir tópico
+ 0
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:
Você pode chamar diretamente sem utilizar o nome da propriedade GetCar
Se remover a palavrar chave Default da proprieade Getcar:
Para chamar esta propriedade você vai precisar chamá-la pelo nome:
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
Responder
Gostei + 1
Mais Posts
26/05/2017
Gladstone Matos
WOW super entendido! MUITO obrigado Natanael! :)
#mestre
#mestre
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)