C# - Interfaces
eai galera...
Sou um pouco iniciante em programação... to com algumas duvidas, alguem pode me ajudar?
Eu to lendo um livro aqui de C# e eu to numa parte de interfaces e abstract class...
Já entendi totalmente como que funciona a interface, nela apenas se declara seus métodos ou propriedades, entendo que é para separar minha implementação da minha declaração... até ai OK...
porém, não consigo de maneira alguma enchergar qual é sua função, quando eu uso, e pra que eu uso.
porque eu ia querer fazer isso ao invez de escrever diretamente na minha class? Quando que eu uso elas? pra que eu uso elas? agora como usar elas eu ja entendi.
a abstract class eu entendo que ela pode ter tanto métodos abstratos como métodos concretos.. ela nao pode ser instanciada mais pode ser herdada, entendo isso... mais eu tenho a mesma duvida da interface... não sei QUANDO eu uso e PRA QUE eu uso...
por favor eu ja to uns 3 dias tentando entender... porém nao consigo enchergar isso...
se puder... me passa um exemplo bem compreensivel, se possivel, um exemplo didatico e outro que nos usamos hoje em dia...
valeu ai por quem puder me ajudar...
Sou um pouco iniciante em programação... to com algumas duvidas, alguem pode me ajudar?
Eu to lendo um livro aqui de C# e eu to numa parte de interfaces e abstract class...
Já entendi totalmente como que funciona a interface, nela apenas se declara seus métodos ou propriedades, entendo que é para separar minha implementação da minha declaração... até ai OK...
porém, não consigo de maneira alguma enchergar qual é sua função, quando eu uso, e pra que eu uso.
porque eu ia querer fazer isso ao invez de escrever diretamente na minha class? Quando que eu uso elas? pra que eu uso elas? agora como usar elas eu ja entendi.
a abstract class eu entendo que ela pode ter tanto métodos abstratos como métodos concretos.. ela nao pode ser instanciada mais pode ser herdada, entendo isso... mais eu tenho a mesma duvida da interface... não sei QUANDO eu uso e PRA QUE eu uso...
por favor eu ja to uns 3 dias tentando entender... porém nao consigo enchergar isso...
se puder... me passa um exemplo bem compreensivel, se possivel, um exemplo didatico e outro que nos usamos hoje em dia...
valeu ai por quem puder me ajudar...
Vai Saber
Curtidas 0
Respostas
Vai Saber
17/06/2011
alguem ?
GOSTEI 0
Vai Saber
17/06/2011
dexa pra la pode excluir isso aqui
GOSTEI 0
Evandro Lopes
17/06/2011
Fala Fernando, blz? Perdeu a paciência? hahaha
Seguinte sobre sua duvida de interfaces, ela tb pode ser chamada de Contratos, ou seja, vc define um contrato de como todos akeles que derivam dela devem se comportar.
Vamos pensar um pouco, algo simples e besta.
Vc tem uma classe de acesso a dados e uma de regra de negocio, suponha q teremos os seguintes métodos: Alterar, Excluir, Incluir, Buscar e Selecionar(Buscar e selecionar são coisas distindas, não se esqueça disso, selecione 1 clientes, busque 1 ou varios clientes).
Vc gera um contrato com isso essas informações, e todo akele q derivar desse contrato deverá seguir a regra estipulada por ele, vc poderá criar métodos a parte nas classes, porém todas que derivarem do contrato deverão conter "Alterar, Excluir, Incluir, Buscar e Selecionar".
Ex:
Utilizando as palavras d um amigo "Usamos Interface quando precisamos que classes de diferentes origens (herança) tenham métodos em comum e possam ser acessados através de uma mesma variável.
A classe abstrata é utilizada quando você quer que uma classe que herde dela implemente alguns métodos, mas que também possam ter métodos implementados na própria classe abstrata. " Qualquer dúvida só gritar. Abraços.
//Definindo um contrato public interface ICliente { List<Cliente> Buscar(); Cliente Selecionar(int Codigo); void Alterar(Cliente cliente); int Inserir(Cliente cliente); bool Excluir(Cliente cliente); } //Camada de acesso a dados public class ClienteDAO : ICliente { public List<Cliente> Buscar() {//implementação do método} public Cliente Selecionar(int Codigo) {//implementação do método} public void Alterar(Cliente cliente) {//implementação do método} public int Inserir(Cliente cliente) {//implementação do método} public bool excluir(Cliente cliente) {//implementação do método} //Camada de negocio public class ClienteBLL : ICliente { public List<Cliente> Buscar() {//implementação do método} public Cliente Selecionar(int Codigo) {//implementação do método} public void Alterar(Cliente cliente) {//implementação do método} public int Inserir(Cliente cliente) {//implementação do método} public bool excluir(Cliente cliente) {//implementação do método}
A classe abstrata é utilizada quando você quer que uma classe que herde dela implemente alguns métodos, mas que também possam ter métodos implementados na própria classe abstrata. " Qualquer dúvida só gritar. Abraços.
GOSTEI 0
Evandro Lopes
17/06/2011
Mais uma coisa, contratos são muito utilizados, vc ainda vai ver muito deles, eles são ótimos desde que saiba utilizar. EU poderia dar muitos exemplos de onde utilizar contratos, como, porém percebo que é iniciante, então entenda o conceito dele, vc vai ver em breve que você vai usar muito.
GOSTEI 0
Vai Saber
17/06/2011
ae cara vlw, entendo perfeitamente como funciona a interface, porem eu fico 1 poco confuso de qdo eu preciso usar
mais vou seguir seu conselho, entender o conceito e futuramente vou precisar dela.. :D
so iniciante msm :/
e foi mal pela grosseria de pedir pra excluir o topico :(
vlww
mais vou seguir seu conselho, entender o conceito e futuramente vou precisar dela.. :D
so iniciante msm :/
e foi mal pela grosseria de pedir pra excluir o topico :(
vlww
GOSTEI 0
Vai Saber
17/06/2011
desculpa, mas eu posso fazer uma ultima pergunta?
quando eu especificamente usaria uma interface? quais sao os beneficios que eu ganho usando?
quando eu especificamente usaria uma interface? quais sao os beneficios que eu ganho usando?
GOSTEI 0
Vai Saber
17/06/2011
acho que entendi, usa-se interface quando eu tenho muitas classes com o mesmo comportamento, mas com implementações diferentes, entao eu declaro uma assinatura de um método que aquelas classes deveriam ter, mas isso não é o principal beneficio, mas sim o polimorfismo, onde eu declaro um método com um parametro do tipo da interface, e acesso aquele método. Pouco me importa a implementação ou quem ira responder aquele método, o que me importa é que algum objeto vai responder aquele metodo..
é mais ou menos isso né? percebi que há algumas coisas bem interessantes com interface, onde, esse exemplo que citei, eu nao posso reutilizar o codigo, imagine que eu tenho duas classes, que implementao a mesma interface, e tem a mesma implementação, eu to duplicando código, entao eu uso aquele padrao strategy certo?
seis acha q eu to bom com os conceitos de OO?
mas uma coisa OO usa-se na camada de negocio ? valeu!
é mais ou menos isso né? percebi que há algumas coisas bem interessantes com interface, onde, esse exemplo que citei, eu nao posso reutilizar o codigo, imagine que eu tenho duas classes, que implementao a mesma interface, e tem a mesma implementação, eu to duplicando código, entao eu uso aquele padrao strategy certo?
seis acha q eu to bom com os conceitos de OO?
mas uma coisa OO usa-se na camada de negocio ? valeu!
GOSTEI 0