Usuário com melhor resposta
Interface

Pergunta
-
Pessoal,
Boa tarde!
Estou com dúvidas de porque e como utilizar interface, analisei varios materiais, mas ainda tenho essas dúvidas. Além disso, a interface só pode ser aplica quando mais de uma classe vai utiliza-la? Exemplo:
public interface IPessoa
{...}
public class PessoaFisica : IPessoa
{...}
public class PessoaJuridica : IPessoa
{...}
Abs,
Respostas
-
Dá uma olhada neste comparativo entre classe abstrata e interface:
http://www.macoratti.net/net_ica1.htm
Abs
Gabriel Bauermann | Representante New Art Webdesing Criação e manutenção de Web Sites Fone (51) 9331 4133 | Email: gabriel.bauermann@gmail.com- Sugerido como Resposta Iter Lubnon quarta-feira, 26 de maio de 2010 19:09
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 13:23
-
Olá Daylon, creio que a dúvida é comum, então vejamos algumas particularidades...
Interface
Classe abstrata
- Não tem implementações ou váriaveis membros.
- Só pode derivar de interfaces.
- Todos os membros são publicos.
- Pode ter ou não alguma implementação. Pode também ter variáveis membros, métodos não abstratos ou propriedades.
- Pode derivar de apenas uma classe base, mesmo que essa classe base seja abstrata, mas pode derivar de quants interfaces for necessario.
- Pode ter métodos e propriedades não publicos, ou seja, private ou protected.
- Pode ter métodos e membros estaticos (static) e definir constantes.
Abraço, Espero ter ajudado. Caso sim, marque-a como tal.- Sugerido como Resposta Iter Lubnon quarta-feira, 26 de maio de 2010 19:09
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 13:23
-
Olá Daylon,
O objetivo da interface é separar a definição de um contrato, da implementação, de forma a permitir diferentes implementações para um mesmo contrato.
Os tópicos abaixo mostram alguns exemplos e explicações:
Cast automático para tipos diferentes
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/747153b7-29cc-4e0b-a836-1c06c11be5d0retornar dbcommand ou Idbcommand
http://social.msdn.microsoft.com/Forums/pt-BR/arquiteturapt/thread/48e017b6-c105-46bf-ac4f-128ef640f9ccClasse Dinâmica - Polimorfismo, Interface, etc
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/7a3f13b9-1a48-436c-a1b9-daff1b0232e6Dúvidas sobre como usar class e interface
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/5b4ceeeb-7072-4efb-abaf-ca955cb7a6f8Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://www.caioproiete.com- Sugerido como Resposta Iter Lubnon quarta-feira, 26 de maio de 2010 19:08
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 13:23
Todas as Respostas
-
Dá uma olhada neste comparativo entre classe abstrata e interface:
http://www.macoratti.net/net_ica1.htm
Abs
Gabriel Bauermann | Representante New Art Webdesing Criação e manutenção de Web Sites Fone (51) 9331 4133 | Email: gabriel.bauermann@gmail.com- Sugerido como Resposta Iter Lubnon quarta-feira, 26 de maio de 2010 19:09
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 13:23
-
Olá Daylon, creio que a dúvida é comum, então vejamos algumas particularidades...
Interface
Classe abstrata
- Não tem implementações ou váriaveis membros.
- Só pode derivar de interfaces.
- Todos os membros são publicos.
- Pode ter ou não alguma implementação. Pode também ter variáveis membros, métodos não abstratos ou propriedades.
- Pode derivar de apenas uma classe base, mesmo que essa classe base seja abstrata, mas pode derivar de quants interfaces for necessario.
- Pode ter métodos e propriedades não publicos, ou seja, private ou protected.
- Pode ter métodos e membros estaticos (static) e definir constantes.
Abraço, Espero ter ajudado. Caso sim, marque-a como tal.- Sugerido como Resposta Iter Lubnon quarta-feira, 26 de maio de 2010 19:09
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 13:23
-
Olá Daylon,
O objetivo da interface é separar a definição de um contrato, da implementação, de forma a permitir diferentes implementações para um mesmo contrato.
Os tópicos abaixo mostram alguns exemplos e explicações:
Cast automático para tipos diferentes
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/747153b7-29cc-4e0b-a836-1c06c11be5d0retornar dbcommand ou Idbcommand
http://social.msdn.microsoft.com/Forums/pt-BR/arquiteturapt/thread/48e017b6-c105-46bf-ac4f-128ef640f9ccClasse Dinâmica - Polimorfismo, Interface, etc
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/7a3f13b9-1a48-436c-a1b9-daff1b0232e6Dúvidas sobre como usar class e interface
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/5b4ceeeb-7072-4efb-abaf-ca955cb7a6f8Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://www.caioproiete.com- Sugerido como Resposta Iter Lubnon quarta-feira, 26 de maio de 2010 19:08
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 13:23