[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:
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
Mais Posts
26/05/2017
Gladstone Matos
WOW super entendido! MUITO obrigado Natanael! :)
#mestre
#mestre
Responder
Clique aqui para fazer login e interagir na Comunidade :)