예제 #1
0
 virtual public void atenderInfarto(IInfartable paciente)
 {
     if (sucesor != null)
     {
         sucesor.atenderInfarto(paciente);
     }
 }
예제 #2
0
        override public void atenderInfarto(IInfartable paciente)
        {
            if (heroeReal == null)
            {
                heroeReal = fabrica.crearHeroe(); // casteo para poder setear estrategia (propia de un bombero)
                heroeReal.setHerramienta(fabrica.crearHerramienta());
                heroeReal.setVehiculo(fabrica.crearVehiculo());

                // seteo la estrategia de apagado, pero antes creo un aux de tipo Bombero para poder setear apagado
                Medico aux = (Medico)heroeReal;
                Console.WriteLine("[MEDICO] Elegir estrategia de protocolo RCP (ingresar número):");
                Console.WriteLine("     1. Intentar sin detenerse");
                Console.WriteLine("     2. Intentar y desistir");
                bool opcionvalida = false;
                while (!opcionvalida)
                {
                    char op = Console.ReadKey().KeyChar;
                    switch (op)
                    {
                    case '1':
                        aux.setProtocoloRCP(new RCPTipoA());
                        opcionvalida = true;
                        break;

                    case '2':
                        aux.setProtocoloRCP(new RCPTipoB());
                        opcionvalida = true;
                        break;

                    default:
                        Console.WriteLine(" \n ERROR: Por favor, ingrese una opción correcta: ");
                        break;
                    }
                }
            }
            heroeReal.atenderInfarto(paciente);
            // devuelvo el bombero creado al cuartel
            fabrica.crearCuartel().agregarPersonal(heroeReal);
            fabrica.crearCuartel().agregarVehiculo(heroeReal.getVehiculo());
            fabrica.crearCuartel().agregarHerramienta(heroeReal.getHerramienta());
        }
예제 #3
0
 public void atender(IResponsable medico)
 {
     medico.atenderInfarto(paciente);
 }