Ejercicio I01 - Cartuchera
Consigna
Parte I
Crear un proyecto de tipo biblioteca de clases y crear las clases del siguiente diagrama:
La clase
Boligrafo
implementará la interfaz de forma implícita y enLapiz
de forma explícita.En
Lapiz
:- El método
Escribir
reducirá la mina en 0.1 por cada carácter escrito. - El método
Recargar
lanzaráNotImplementedException
. - El color será gris (grey), sin posibilidad de modificarlo. El
set
lanzaráNotImplementedException
. - La propiedad
UnidadesDeEscritura
retornará el valor del atributotamanioMina
.
- El método
En
Boligrafo
:- El método
Escribir
reducirá la tinta en 0.3 por cada carácter escrito. - El método
Recargar
incrementará la tinta en tantas unidades como se agreguen. - La propiedad
UnidadesDeEscritura
retornará el valor del atributotinta
.
- El método
En ambas clases el método
ToString
retornará 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
CartucheraMultiuso
que 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á
true
si se pudo gastar exactamente 1 unidad de todos los elementos.
Declarar la clase
CartucheraSimple
que tendrá dos atributos del tipoList<Boligrafo>
yList<Lapiz>
respectivamente.Crear el método
RecorrerElementos
para que haga exactamente lo mismo que el deCartucheraMultiuso
. Recorrer cada lista por su tipo.Crear dentro del método
Main
un objeto del tipoCartucheraMultiuso
y otro deCartucheraSimple
.- Cargar sus listas de elementos.
- Llamar a los métodos
RecorrerElementos
hasta que alguno de ellos retornefalse
. - Imprimir por pantalla su retorno.
Resolución
Video | Código |
---|