示例#1
0
        public static void Reciclar(Lixo lixo)
        {
            Type Tipolixo = lixo.GetType().GetInterfaces().FirstOrDefault();

            if (Tipolixo.Equals(typeof(PretoOrganico)))
            {
                //Casting = Método de conversão. A classe LIXO não "enxerga" o que tem dentro da classe CascaBanana, e por isso, indicamos para ela o que queremos.
                PretoOrganico organico = (PretoOrganico)lixo;  //"Eu garanto que lixo contem PretoOrganico."
                System.Console.WriteLine(organico.Composteira() + " foi levado para a COMPOSTAGEM.");
                Console.ReadLine();
            }
            else if (Tipolixo.Equals(typeof(VerdeVidro)))
            {
                VerdeVidro vidro = (VerdeVidro)lixo;
                System.Console.WriteLine(vidro.ReciclarVidro() + " foi jogado no lixo VERDE.");
                Console.ReadLine();
            }
            else if (Tipolixo.Equals(typeof(AzulPapel)))
            {
                AzulPapel papel = (AzulPapel)lixo;
                System.Console.WriteLine(papel.ReciclarPapel() + " foi jogado no lixo AZUL.");
                Console.ReadLine();
            }
            else if (Tipolixo.Equals(typeof(VermelhoPlastico)))
            {
                VermelhoPlastico plastico = (VermelhoPlastico)lixo;
                System.Console.WriteLine(plastico.ReciclarPlastico() + " foi jogado no lixo VERMELHO.");
                Console.ReadLine();
            }
            else if (Tipolixo.Equals(typeof(MetalAmarelo)))
            {
                MetalAmarelo metal = (MetalAmarelo)lixo;
                System.Console.WriteLine(metal.ReciclarMetal() + " foi jogado no lixo AMARELO.");
                Console.ReadLine();
            }
            else if (Tipolixo.Equals(typeof(CinzaNaoReciclavel)))
            {
                CinzaNaoReciclavel especial = (CinzaNaoReciclavel)lixo;
                System.Console.WriteLine(especial.DescarteEspecial() + " foi jogado no lixo de DESCARTES ESPECIAIS (CINZA).");
                Console.ReadLine();
            }
        }
示例#2
0
 public static void TipoReciclagem(VerdeVidro lixo)
 {
     System.Console.WriteLine(lixo.ReciclarVidro() + " Deve sempre ser jogado na lixeira de VIDROS.");
 }