Ejercicio I01 - Cartuchera
Consigna
Parte I
Crear un proyecto de tipo biblioteca de clases y crear las clases del siguiente diagrama:
La clase
Boligrafoimplementará la interfaz de forma implícita y enLapizde forma explícita.En
Lapiz:- El método
Escribirreducirá la mina en 0.1 por cada carácter escrito. - El método
RecargarlanzaráNotImplementedException. - El color será gris (grey), sin posibilidad de modificarlo. El
setlanzaráNotImplementedException. - La propiedad
UnidadesDeEscrituraretornará el valor del atributotamanioMina.
- El método
En
Boligrafo:- El método
Escribirreducirá la tinta en 0.3 por cada carácter escrito. - El método
Recargarincrementará la tinta en tantas unidades como se agreguen. - La propiedad
UnidadesDeEscrituraretornará el valor del atributotinta.
- El método
En ambas clases el método
ToStringretornará un texto informando si es un lápiz o un bolígrafo, el color de escritura y el nivel de tinta.Crear un proyecto de consola y agregar el siguiente código en el método
Main, modificar si hace falta:
ConsoleColor colorOriginal = Console.ForegroundColor;
Lapiz miLapiz = new Lapiz(10);
Boligrafo miBoligrafo = new Boligrafo(20, ConsoleColor.Green);
EscrituraWrapper eLapiz = miLapiz.Escribir("Hola");
Console.ForegroundColor = eLapiz.color;
Console.WriteLine(eLapiz.texto);
Console.ForegroundColor = colorOriginal;
Console.WriteLine(miLapiz);
EscrituraWrapper eBoligrafo = miBoligrafo.Escribir("Hola");
Console.ForegroundColor = eBoligrafo.color;
Console.WriteLine(eBoligrafo.texto);
Console.ForegroundColor = colorOriginal;
Console.WriteLine(miBoligrafo);
Console.ReadKey();
Parte II
Declarar la clase
CartucheraMultiusoque tendrá un atributo del tipoList<IAcciones>.Crear el método
RecorrerElementos.- Se deberá recorrer la lista y gastará 1 unidades de cada elemento.
- Cuando sea necesario, recargará antes de salir del método (cargar 20 unidades).
- Retornará
truesi se pudo gastar exactamente 1 unidad de todos los elementos.
Declarar la clase
CartucheraSimpleque tendrá dos atributos del tipoList<Boligrafo>yList<Lapiz>respectivamente.Crear el método
RecorrerElementospara que haga exactamente lo mismo que el deCartucheraMultiuso. Recorrer cada lista por su tipo.Crear dentro del método
Mainun objeto del tipoCartucheraMultiusoy otro deCartucheraSimple.- Cargar sus listas de elementos.
- Llamar a los métodos
RecorrerElementoshasta que alguno de ellos retornefalse. - Imprimir por pantalla su retorno.
Resolución
| Video | Código |
|---|