|
Usuários |
|
74 Usuários Online
|
|
[Artigos]
Dicas Certificação Delphi Developer – Parte I |
Publicado por rboaro : Segunda, Julho 16, 2012 - 07:55 GMT-3 (1080 leituras)
6 Comentários Enviar para um amigo Versão para impressão
|
Saudações, caros Delphianos!
Acredito que alguns de vocês, senão todos, já sabem do retorno das certificações Delphi trazidas agora pela Embarcadero. Ainda não sei da aceitação das mesmas no mercado, mesmo porque são certificações relativamente novas. Contudo, me interessei e estou estudando já há algum tempo para prestar a certificação Delphi Developer.
Estou me baseando no Study Guide da Embarcadero, pois lá, encontram-se todos os tópicos e subtópicos que poderão fazer parte do teste. Encontrei muita coisa boa e interessante nos livros do Marco Cantù, principalmente o Delphi 2009 Handbook e Delphi 2010 Handbook e também no wiki da Embarcadero. É claro que há outros sites muito bons também, como o próprio portal da Active Delphi. Bom, neste pouco tempo de estudos e pesquisas, pude verificar que é uma tarefa meio árdua encontrar explicações claras e objetivas de alguns tópicos presentes no Study Guide, sendo assim, decidi trazer aqui para a comunidade Delphi alguns destes pontos. Ainda não sei em quantas partes será dividida esta série de dicas, mesmo porque ainda não acabei meus estudos, porém o que importa é compartilharmos conhecimento, de forma que um possa ajudar o outro. Nesta primeira parte, vamos falar sobre Forward Declarations que está presente no subtópico chamado Forward, interface and external declarations contido no tópico Procedures and Functions. Na linguagem Delphi, um método não pode chamar outro método que será definido depois daquele que o chamou, ou seja, antes de chamar qualquer método precisamos declará-lo, isso acontece não só com métodos (procedures e functions), mas sim com qualquer identificador utilizado no Delphi. Em certas ocasiões, necessitamos utilizar métodos auto-referenciáveis, como no caso do tratamento de uma estrutura de árvore, por exemplo. Esse recurso é chamado de recursão mútua. Para que consigamos ter este tipo de declaração, precisamos adicionar a diretiva forward no final da declaração de um determinado método, como segue:
procedure Metodo1(param1:String); forward;
procedure Metodo2;
begin
Metodo1(‘Teste’);
end;
procedure Metodo1(param1:String);
begin
ShowMessage(‘Mensagem recebida: ’ + param1);
end;
Podemos perceber que se não usássemos a declaração Forward, teríamos que definir a procedure Metodo1 antes da Metodo2. Porém, desta forma, apenas criamos um cabeçalho do método para que o Delphi consiga entender que o método foi declarado antes de ser chamado. Na definição do método, não precisaríamos repetir a lista de parâmetros ou o tipo de retorno (em casos de funções), porém, se o fizéssemos, a ordem e o tipo dos mesmos, teriam que estar exatamente como foram declarados. Agora, se o método declarado como Forward for sobrecarregado (possuir a diretiva overload), a definição do mesmo deverá repetir a lista de parâmetros e, para funções, o tipo de retorno. Sendo assim, neste caso, poderíamos definir nossa
procedure Metodo1 da seguinte forma:
procedure Metodo1;
begin
ShowMessage(‘Mensagem recebida: ‘ + param1);
end;
Uma declaração Forward e sua definição devem aparecer na mesma seção type, ou seja, não pode haver nenhuma outra seção (como uma seção var ou const, por exemplo) entre a declaração e a definição. De forma mais prática, poderíamos dizer que a declaração e a definição de um método Forward devem estar presentes na seção interface ou na implementation. Contudo, analisando com mais cuidado, se tivermos uma declaração Forward de um método na seção interface, teremos que defini-lo na seção implementation, isso quer dizer que o melhor a se fazer é: declarar e definir métodos Forward na seção implementation. Para terminar, já que estamos falando de forward declarations, há um subtópico chamado Forward declarations and mutually dependent classes no tópico Classes and Objects, que trata deste tipo de declaração só que para classes. Todas as regras válidas para declaração de métodos também são válidas para as classes, exceto a utilização da diretiva forward. Neste caso, o Delphi entende que a declaração de uma determinada classe é forward, quando a mesma termina com a palavra class seguida do símbolo (;), como segue:
type TClasseTeste = class;
Lembrando que a declaração deve terminar com (;), sem herdar de nenhuma outra classe ancestral, nem mesmo de TObject.
Links importantes:
O que é a certificação Delphi Developer e como proceder para realizar o teste:
http://www.embarcadero.com/br/certification/delphi-developer
Study Guide da Embarcadero:
http://www.embarcadero.com/images/dm/technical-papers/delphi-developer-certification-study-guide.pdf
Wiki da Embarcadero:
http://docwiki.embarcadero.com/RADStudio/en/
Outras fontes importantes e interessantes:
http://delphi.about.com/
http://www.delphibasics.co.uk/
Espero que seja útil!
Grande Abraço!
|
|
Comentários | |
| | Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos. |
por: Kline777 (tiago_rod@msn.com)
: Jul 19, 2012 - 06:50 (Informações sobre o membro | Enviar uma mensagem)
http://http://
|
|
Apesar de já programar em delphi faz algum tempo, admito que a parte teorica da estrutura da linguagem não é o meu forte. Por isso vou aproveitar estes artigos e talvez o teste para me forçar a aprender mais sobre a linguagem.
|
|
|
Edição 112 |
|
|
50 Programas Fontes |
|
|
Produtos |
|
|