Advertisement
mrevilca31

Clase Electrodomestico

Oct 15th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace TrabajoFinal
  8. {
  9.     public class Electrodomestico
  10.     {
  11.         //Atributos electrodomestico
  12.         private float precioBase;
  13.         private string color;
  14.         private char consumoEnergetico;
  15.         private float peso;
  16.  
  17.  
  18.         //Constructor por defecto
  19.         public Electrodomestico()
  20.         {
  21.             this.precioBase = 0;
  22.             this.color = "BLANCO";
  23.             this.consumoEnergetico = 'F';
  24.             this.peso = 5;
  25.         }
  26.  
  27.  
  28.         //Constructor con todos los atributos
  29.         public Electrodomestico(float precio, string color, char consumo, float peso)
  30.         {
  31.             this.precioBase = precio;
  32.             this.color = color;
  33.             this.consumoEnergetico = consumo;
  34.             this.peso = peso;
  35.         }
  36.  
  37.         //VER VER VER VER
  38.         //VER EL COMPORTAMIENTO DEL SET
  39.         public float PrecioBase
  40.         {
  41.             get { return this.precioBase; }
  42.             private set { this.precioBase = value; }
  43.         }
  44.  
  45.  
  46.         //Valida el color. Se llama desde el método Color, en el set.
  47.         //Convierte a mayusculas el valor ingresado por consola.
  48.         //Se asigna BLANCO si ingresa un valor fuera de la lista
  49.         //de valores posibles.
  50.         private string validarColor(string cadena)
  51.         {
  52.             switch (cadena.ToUpper())
  53.             {
  54.                 case "BLANCO":
  55.                     return "BLANCO";
  56.                 case "NEGRO":
  57.                     return "NEGRO";
  58.                 case "ROJO":
  59.                     return "ROJO";
  60.                 case "AZUL":
  61.                     return "AZUL";
  62.                 case "GRIS":
  63.                     return "GRIS";
  64.                 default:
  65.                     return "BLANCO";  
  66.             }
  67.  
  68.         }
  69.  
  70.  
  71.         //Set y Get del atributo color.
  72.         public string Color
  73.         {
  74.             get { return this.color; }
  75.             set {this.color = validarColor(value);}
  76.         }
  77.  
  78.  
  79.         //Valida el consumo. Se llama desde el método Consumo, en el set.
  80.         //Contempla la posibilidad de ingresar por consola tanto una mayuscula
  81.         //como una minuscula.
  82.         //Se asigna F si ingresa un valor fuera de la lista
  83.         //de valores posibles.
  84.         private char validarConsumo(char tipo)
  85.         {
  86.             char valor = 'F';
  87.            
  88.             switch (tipo)
  89.             {
  90.                 case 'a':
  91.                 case 'A':
  92.                     valor = 'A';
  93.                     break;
  94.                 case 'b':
  95.                 case 'B':
  96.                     valor = 'B';
  97.                     break;
  98.                 case 'C':
  99.                 case 'c':
  100.                     valor = 'C';
  101.                     break;
  102.                 case 'd':
  103.                 case 'D':
  104.                     valor = 'D';
  105.                     break;
  106.                 case 'e':
  107.                 case 'E':
  108.                     valor = 'E';
  109.                     break;
  110.                 case 'f':
  111.                 case 'F':
  112.                     valor = 'F';
  113.                     break;
  114.                 default:
  115.                     break;
  116.             }
  117.  
  118.             return valor;
  119.         }
  120.  
  121.  
  122.         //Set y Get del atributo consumoEnergetico.
  123.         public char ConsumoEnergetico
  124.         {
  125.             get { return this.consumoEnergetico;}
  126.             set { this.consumoEnergetico = validarConsumo(value);}
  127.         }
  128.  
  129.  
  130.         //Valida el peso. Se llama desde el método Peso, en el set.
  131.         //Verifica que el valor ingresado sea mayor que cero, caso
  132.         //contrario asigna el valor por defecto 5.
  133.         private float validarPeso(float valor)
  134.         {
  135.             if (valor>0)
  136.             {
  137.                 return valor;
  138.             }
  139.             else
  140.             {
  141.                 float aux = 5;
  142.                 return aux;
  143.             }
  144.  
  145.         }
  146.  
  147.  
  148.         //Set y Get del atributo peso.
  149.         public float Peso
  150.         {
  151.             get { return this.peso; }
  152.             set { this.peso = validarPeso(value); }
  153.         }
  154.  
  155.  
  156.         //Metodo que le añade un valor al Precio Final
  157.         //teniendo en cuenta el tipo de consumo energetico.
  158.         private float precioConsumo()
  159.         {
  160.             switch (this.consumoEnergetico)
  161.             {
  162.                 case 'A':
  163.                     return 100;
  164.                 case 'B':
  165.                     return 80;
  166.                 case 'C':
  167.                     return 60;
  168.                 case 'D':
  169.                     return 50;
  170.                 case 'E':
  171.                     return 30;
  172.                 case 'F':
  173.                     return 10;
  174.                 default:
  175.                     return 0;
  176.             }
  177.         }
  178.  
  179.  
  180.         //Metodo que le añade un valor al Precio Final
  181.         //de acuerdo a un intervalo de pesos.
  182.         private float precioPeso()
  183.         {
  184.             float valor=0;
  185.  
  186.             if (this.peso>0 && this.peso<20)
  187.             {
  188.                 valor = 10;
  189.             }
  190.             else
  191.             {
  192.                 if (this.peso>=20 && this.peso<50)
  193.                 {
  194.                     valor = 50;
  195.                 }
  196.                 else
  197.                 {
  198.                     if (this.peso>=50 && this.peso<80)
  199.                     {
  200.                         valor = 80;
  201.                     }
  202.                     else
  203.                     {
  204.                         valor = 100;
  205.                     }
  206.                 }
  207.             }
  208.  
  209.             return valor;
  210.         }
  211.  
  212.  
  213.         //Get del Precio Final del electrodomestico.
  214.         //Utiliza dos metodos que tienen que ver con el
  215.         //consumo energetico y su peso, y que le añaden un valor
  216.         //adicional al Precio Final.
  217.         public float PrecioFinal
  218.         {
  219.             get { return this.precioBase + precioConsumo() + precioPeso(); }
  220.         }
  221.  
  222.  
  223.     }
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement