Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace TrabajoFinal
- {
- public class Electrodomestico
- {
- //Atributos electrodomestico
- private float precioBase;
- private string color;
- private char consumoEnergetico;
- private float peso;
- //Constructor por defecto
- public Electrodomestico()
- {
- this.precioBase = 0;
- this.color = "BLANCO";
- this.consumoEnergetico = 'F';
- this.peso = 5;
- }
- //Constructor con todos los atributos
- public Electrodomestico(float precio, string color, char consumo, float peso)
- {
- this.precioBase = precio;
- this.color = color;
- this.consumoEnergetico = consumo;
- this.peso = peso;
- }
- //VER VER VER VER
- //VER EL COMPORTAMIENTO DEL SET
- public float PrecioBase
- {
- get { return this.precioBase; }
- private set { this.precioBase = value; }
- }
- //Valida el color. Se llama desde el método Color, en el set.
- //Convierte a mayusculas el valor ingresado por consola.
- //Se asigna BLANCO si ingresa un valor fuera de la lista
- //de valores posibles.
- private string validarColor(string cadena)
- {
- switch (cadena.ToUpper())
- {
- case "BLANCO":
- return "BLANCO";
- case "NEGRO":
- return "NEGRO";
- case "ROJO":
- return "ROJO";
- case "AZUL":
- return "AZUL";
- case "GRIS":
- return "GRIS";
- default:
- return "BLANCO";
- }
- }
- //Set y Get del atributo color.
- public string Color
- {
- get { return this.color; }
- set {this.color = validarColor(value);}
- }
- //Valida el consumo. Se llama desde el método Consumo, en el set.
- //Contempla la posibilidad de ingresar por consola tanto una mayuscula
- //como una minuscula.
- //Se asigna F si ingresa un valor fuera de la lista
- //de valores posibles.
- private char validarConsumo(char tipo)
- {
- char valor = 'F';
- switch (tipo)
- {
- case 'a':
- case 'A':
- valor = 'A';
- break;
- case 'b':
- case 'B':
- valor = 'B';
- break;
- case 'C':
- case 'c':
- valor = 'C';
- break;
- case 'd':
- case 'D':
- valor = 'D';
- break;
- case 'e':
- case 'E':
- valor = 'E';
- break;
- case 'f':
- case 'F':
- valor = 'F';
- break;
- default:
- break;
- }
- return valor;
- }
- //Set y Get del atributo consumoEnergetico.
- public char ConsumoEnergetico
- {
- get { return this.consumoEnergetico;}
- set { this.consumoEnergetico = validarConsumo(value);}
- }
- //Valida el peso. Se llama desde el método Peso, en el set.
- //Verifica que el valor ingresado sea mayor que cero, caso
- //contrario asigna el valor por defecto 5.
- private float validarPeso(float valor)
- {
- if (valor>0)
- {
- return valor;
- }
- else
- {
- float aux = 5;
- return aux;
- }
- }
- //Set y Get del atributo peso.
- public float Peso
- {
- get { return this.peso; }
- set { this.peso = validarPeso(value); }
- }
- //Metodo que le añade un valor al Precio Final
- //teniendo en cuenta el tipo de consumo energetico.
- private float precioConsumo()
- {
- switch (this.consumoEnergetico)
- {
- case 'A':
- return 100;
- case 'B':
- return 80;
- case 'C':
- return 60;
- case 'D':
- return 50;
- case 'E':
- return 30;
- case 'F':
- return 10;
- default:
- return 0;
- }
- }
- //Metodo que le añade un valor al Precio Final
- //de acuerdo a un intervalo de pesos.
- private float precioPeso()
- {
- float valor=0;
- if (this.peso>0 && this.peso<20)
- {
- valor = 10;
- }
- else
- {
- if (this.peso>=20 && this.peso<50)
- {
- valor = 50;
- }
- else
- {
- if (this.peso>=50 && this.peso<80)
- {
- valor = 80;
- }
- else
- {
- valor = 100;
- }
- }
- }
- return valor;
- }
- //Get del Precio Final del electrodomestico.
- //Utiliza dos metodos que tienen que ver con el
- //consumo energetico y su peso, y que le añaden un valor
- //adicional al Precio Final.
- public float PrecioFinal
- {
- get { return this.precioBase + precioConsumo() + precioPeso(); }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement