Fórum Programação orientada a objeto #208262
22/01/2004
0
Crie esse Post porque ainda tenho muitas duvidas sobre esse assunto(duvidas que ate pode ser fáceis mas... :mrgreen: ).
Tipo
Eu faço uma classe e tbm as procedures . Mas como usar as procedures? Como fazer para meu programa usar e receber a informação realizada pelas procedures.(acho que é isso)....
Bom é isso por enquanto... em breve trarei mais duvidas...
Dart
Dart
Curtir tópico
+ 0Posts
22/01/2004
Beppe
Está é uma classe chamada Veiculo:
type Veiculo = class(TObject) private FCor: Cor; FKilometragem: Double; public constructor Cria(const Cor: String); procedure Anda(Kms: Double); function PegaInfo: String; end; constructor Veiculo.Cria(const Cor: String) begin inherited Create; FCor := Cor; end; procedure Veiculo.Anda(Kms: Double); begin FKilometragem := FKilometragem + Kms; end; function Veiculo.PegaInfo: String; begin Result := Format(´Sou um veículo ¬s e já percorri ¬g kms´, [FCor, FKilometragem]); end;
Pode ser usada assim:
var V: Veiculo; begin V := Veiculo.Cria(´vermelho´); // cria um vermelho try V.Anda(1.2); // anda um pouco ShowMessage(V.PegaInfo); // exibe informações atuais de V V.Anda(7.3); ShowMessage(V.PegaInfo); finally V.Free; end; end;
Quando eu chamo Veiculo.Cria(...), um novo Veiculo é criado(instânciado), e qualquer método que eu chamar sobre ele opera sobre os dados da instância passada como o ´sujeito da frase´, neste caso V.
Gostei + 0
22/01/2004
Ferdelphi12540
Gostaria de saber se alguem conhece um livro bom de POO, sou iniciante em POO e gostaria de saber mais sobre o assunto. Ja li algumas coisas sobre, mas são escrito em uma linguagem que é dificil de entender, e gostaria de saber de um livro de facil entendimento..
Obrigado..
Fernando
Gostei + 0
22/01/2004
Nigro
Gostaria de saber a opinião sobre POO, pois estou em uma empresa, onde a linguagem utilizada é V.O. e aqui só trabalham assim com O.O, estou enlouquecendo pois nunca tinha visto isso antes, é uma tendência? É uma forma melhor de se trtabalhar? É mais fácil de dar manutenção no sistema? Vantagans e desvantagans... Por favor....
Obeigado
Gostei + 0
22/01/2004
Dart
Mas da para fazer uma procedure para criar o um novo Veiculo? e como executar esse procedure?
Valeu.
Gostei + 0
22/01/2004
Beppe
Sim. Esse tipo de procedure chama-se [b:be63570ae8]constructor[/b:be63570ae8](construtor). Dá uma olhada no exemplo que passei, constructor Cria, embora geralmente chamamo-os de Create. Um [i:be63570ae8]construtor[/i:be63570ae8] é visto como uma função de classe, á que você chama através da própria classe, e não de um objeto. Um construtor retorna uma nova instância da classe.
Ex:
V := Veiculo.Create(´verde´); // certo V := V.Create(´verde´); // errado, não compila V.Create(´verde´); // compila, faz inicializar a classe, mas é conceitualmente erradoconceitualmente errado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)