Отношения между классами - C#

Узнай цену своей работы

Формулировка задачи:

Ребята, всем привет!!! Мне очень нужна ваша помощь!!! Необходимо разработать класс Car. Добавить в класс 3 поля: марка автомобиля, цвет автомобиля (использовать перечисление), стоимость автомобиля (предусмотреть модификаторы доступа к полям). Добавить методы в класс, позволяющие изменять марку, цвет и стоимость автомобиля. Создать класс Truck, унаследовать методы от класса Car и переопределить по своему усмотрению. Пожалуйста, помогите мне!!! Если можно с комментариями. Заранее большое спасибо!!!

Решение задачи: «Отношения между классами»

textual
Листинг программы
using System;
 
public class Auto
{
  public enum Make
  {
    Mercedes, 
    BMW,
    Audi,
    Lada,
    Kamaz,
    Belaz
  }
  
  public enum Color
  {
    Red,
    Green,
    Blue,
    Maroon
  }
  
  public virtual Make CarMake { get; set; }
  public virtual Color CarColor { get; set; }
  public virtual double CarCost { get; set; }
  
  public Auto()
  {
  }
  
  public Auto(Make make, Color color, double cost)
  {
    CarMake = make;
    CarColor = color;
    CarCost = cost;
  }
  
  public override string ToString()
  {
    return string.Format("Машина '{0}' цвета '{1}' стоимостью {2}", CarMake, CarColor, CarCost);
  }
}
 
public class Truck : Auto
{
  private Make _make;
  
  // добавим еще одно свойство
  public int WheelCount { get; set; }
  
  // переопределяем свойство "марка"
  public override Make CarMake
  {
    get
    {
      return _make;
    }
    set
    {
      switch(value)
      {
        case Make.Kamaz:
    case Make.Belaz:
      _make = value;
      break;
          
    default:
      throw new Exception("Таких грузовиков не бывает!");
       }
    }
  }
  
  public Truck() : base()
  {
  }
  
  public Truck(Make make, Color color, double cost, int wheelCount) : base(make, color, cost)
  {
    WheelCount = wheelCount;
  }
  
  public override string ToString()
  {
    return string.Format("Грузовик '{0}' цвета '{1}' ценой в {2} с кол-вом колес {3}", CarMake, CarColor, CarCost, WheelCount);
  }
}
 
public class Program
{
  public static void Main(string[] args)
  {
    try
    {
      var a = new Auto(Auto.Make.BMW, Auto.Color.Green, 14000);
      var b = new Truck(Auto.Make.Kamaz, Auto.Color.Maroon, 18000, 8);
    
      Console.WriteLine(a);
      Console.WriteLine(b);
    }
    catch(Exception e)
    {
      Console.WriteLine(e.Message);
    }
  }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы