sexta-feira, 18 de junho de 2010

Herança Visual - Introdução - Parte 1



Conceito de Herança:

Podemos comparar herança a genética, temos um objeto pai que herda suas caracteristica a um objeto filho.

Utilizamos a heranca em caso de construcao de codigos que sao semelhantes em certas partes e de divergem em alguns aspectos, imagine um cadastro de pessoa fisica e outro de jurica, poderias ter um local chamado PESSOA onde conteria informações semelhantes aos dois tipos de cadastros como NOME, ENDERECO, etc. Então criariamos os castros filho herdando essas caracteriscas e implementando apenas as diferencas, como no caso de pessoa Juridica teriamos CNPJ, INS ESTADUAL, etc.

No caso de Herança visual, em muitos programas utilizamos Forms que possuim semelhancas entre si, essas, devem ser colocada em uma Form Pai, o qual herdariamos na contrução das FORMs filhas.

Vamos por a mão na massa agora:

Abra o Visual Studio e Crie um projeto Windows Form.
Insira os objetos que deseja na Form, conforme exemplo abaixo:




Agora vamos executar um Build na aplicação para gerar nosso formulario pai, clique com o botão direito em cima do seu projeto na janela da solution explorer e clique em build como na figura abaixo:



Clique novamente com o botao direito do mouse no seu projeto na Solution Explorer, vá em ADD, e depois selecione Windows Form.


Selecione Inherted Forms e de um nome para seu formulario filho e clique em ADD


Selecione qual a Form será usada como pai e clique em Ok.


Deverá ser criado um formulario com o nome escolhido com as mesmas caracteristicas da classe pai.



Entrando no código do seu FORM FILHO vc verá que na linha onde esta definada a classe do Formulario Filho ele herda da classe pai, para isso é utilizada o nome do Assembly da classe pai depois dos ":"



Dicas de herança visual: 1 - Na classe pai, manter o minimo de programação possivel, sempre utilizar classes externas, pois muito codigo pode gerar erro de renderização em sua Form filha.

Está é apenas uma introdução basica sobre o assunto, irei tradar nos proximos posts sobre como reescrever metodos na classe filha, eventos, e no final irei fazer uma classe contendo GRIDVIEW + Formulario de Inclusão utilizando metodos herdados.

Qualquer duvida ou elogio ou pedido pode ser solicitado atraves do twitter: twitter.com/devdicas

Até Breve

Autor: Carlos Bueno

3 comentários:

  1. Fala carlos, ótimo post!

    Eu consegui atingir o mesmo objetivo do Inherited form mas de outra maneira (e pelo que eu li eu recriei a roda)

    Crie o form base, coloquei os componentes base, tipo 3 botões, 1 grid, e etc, troquei os modificadores dos componentes para protected e consegui acessar sem maiores problemas.

    Não tinha me ligado que existia esse inherited form, mas é bem util, caso eu venha a utilizar formularios modelo novamente

    Abraço e boa sorte no seu blog, ta muito bom!

    ResponderExcluir
  2. Obrigado pelo elogio, e pode ter certeza que irei fazer muito mais, visite sempre o blog que teremos sempre novidades.
    Bom não se esqueça da dica, pois sempre ao se trabalhar com heranca visual temos que tomar cuidado com a classe pai e programar o maximo possivel em uma classe externa e estanciar ela para usar os codigos devidos, senão podemos ter problemas na renderização da classe filha, nao que não ira funcionar,mas nao conseguiremos visualizar a Form em tempo de desenvolvimento.

    nao esquecam de nos seguir no twitter:

    twitter.com/devdicas

    ResponderExcluir
  3. ooo cara..mtissimo obrigado. Seu post realmente me ajudou \o /

    ResponderExcluir