Djoblack Posted September 29, 2013 at 07:40 PM Report #526608 Posted September 29, 2013 at 07:40 PM Boas , comecei a aprender e a programar em C# recentemente e estou com dificuldades em implementar uma função. Tenho 2 classes: //Classe 1 onde tenho o Enum TipoAnimal public enum TipoAnimal { mamifero = 0; reptil = 1; insectos = 2; }; // Classe 2 public class Reptil : Animal{ // code } Eu preciso implementar um metodo numa nova classe que determina o tipo de animal passando uma instância de animal como argumento. Ex: public TipoAnimal detTipAnimal(Reptil reptil){ //como? } Agradeço qualquer ajuda. Cumprimentos
nelsonr Posted September 29, 2013 at 10:43 PM Report #526668 Posted September 29, 2013 at 10:43 PM Boas, - o que indicas como classe 1 não é uma classe, é um enumerador - a class 2, reptil, deriva de uma class/interface Animal, mas está definida ai nesse exemplo Acho que primeiro convem aprenderes bem o que é uma classe e para que serve, senão vais ter alguma dificuldade em avançares.
Djoblack Posted September 30, 2013 at 09:56 AM Author Report #526742 Posted September 30, 2013 at 09:56 AM Boas, devo ter explicado mal.. 1- o enumerador não é uma classe mas sim está dentro da classe 1....(por isso o comentário)-----> //Classe 1 onde tenho o Enum TipoAnimal 2- sim, a classe 2 deriva de uma classe animal Obrigado.
nelsonr Posted September 30, 2013 at 10:05 AM Report #526744 Posted September 30, 2013 at 10:05 AM Boas, e podes colocar aqui a definição da class Animal?
nelsonr Posted September 30, 2013 at 10:35 AM Report #526754 Posted September 30, 2013 at 10:35 AM Poderá ser feito de várias formas, mas vai aqui um exemplo. Se tiveres duvida sobre alguma parte em especifico, pergunta. private enum TipoAnimal { mamifero = 0, reptil = 1, insecto = 2 } private class Animal { public virtual TipoAnimal Tipo { get; set; } } private class Mamifero : Animal { public override TipoAnimal Tipo { get { return(TipoAnimal.mamifero); } } } private class Reptil : Animal { public override TipoAnimal Tipo { get { return (TipoAnimal.reptil); } } } private class Insecto : Animal { public override TipoAnimal Tipo { get { return (TipoAnimal.insecto); } } } private TipoAnimal QualTipoAnimal(Animal animal) { return (animal.Tipo); } Reptil cobra = new Reptil(); Mamifero cao = new Mamifero(); Insecto mosca = new Insecto(); Console.Write(QualTipoAnimal(cobra)); Console.Write(QualTipoAnimal(cao)); Console.Write(QualTipoAnimal(mosca));
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now