Установить отношения между сущностями: автомобиль, грузовик, автобус, двигатель и радио - C#

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

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

Пусть в вашем распоряжении имеются 5 сущностей: автомобиль (Car), грузовик (Truck), автобус (Bus), двигатель (Engine) и радио (Radio). Для каждой из сущности задайте не менее 3 полей, описывающих их состояние, а также предусмотрите методы для работы с полями. Установите отношения между этими сущностями. Предусмотрите следующую ситуацию: транспортное средство начинает двигаться только после запуска двигателя (успешность запуска определяется случайно). При включении радио в автобусе ловится канал «Спутник FM», в то время как шофер грузовика слушает только «Радио-Шансон». Контекст работы программы не предусматривает возможность создания объектов сущности автомобиль (Car), а также возможность наследовать от класса автобус (Bus). Помогите пожалуйста. Вот всё что смог написать
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Lab_4
{
    class Program
    {
        static void Main(string[] args)
        {
        }
        public abstract class Car
        {
            //Авто
            private String brand;
            private Colors color;
            private uint cost;//uint-Целое число без знака
 
            //******************************************************************
 
            public String Brand//Марка
            {
                get { return brand; }
            }
            public Colors Color//Цвет
            {
                get { return color; }
            }
            public uint Cost//Цена
            {
                get { return cost; }
            }
 
            //******************************************************************
 
            //Конструктор класса Car
            public Car(String Brand, Colors Color, uint Cost)
            {
                this.brand = Brand;
                this.color = Color;
                this.cost = Cost;
            }
 
            //******************************************************************
            // Изменение марки
 
            public virtual void ChangeBrand(String newBrand) //virtual означает, что можно переопределить этот метод
            {
                this.brand = newBrand;
            }
 
            public virtual void ChangeColor(Colors newColor)
            {
                this.color = newColor;
            }
 
            public virtual void ChangeCost(uint newCost)
            {
                this.cost = newCost;
            }
            public override string ToString()
            {
                return string.Format(Brand, Color, Cost);
            }
        }
 
        public class Truck : Car
        {
            public Truck(String Brand, Colors Color, uint Cost)
                : base(Brand, Color, Cost) //base - передача параметров в конструктор базового класса
            {
            }
 
            public override void ChangeBrand(string newBrand)
            {
                base.ChangeBrand(newBrand);
            }
 
            public override void ChangeColor(Colors newColor)
            {
                base.ChangeColor(newColor);
            }
 
            public override void ChangeCost(uint newCost)
            {
                base.ChangeCost(newCost);
            }
        }
        public class Bus : Car
        {
            public Bus(String Brand, Colors Color, uint Cost)
                : base(Brand, Color, Cost) //base - передача параметров в конструктор базового класса
            {
            }
 
            public override void ChangeBrand(string newBrand)
            {
                base.ChangeBrand(newBrand);
            }
 
            public override void ChangeColor(Colors newColor)
            {
                base.ChangeColor(newColor);
            }
 
            public override void ChangeCost(uint newCost)
            {
                base.ChangeCost(newCost);
            }
        }
 
        public enum Colors { Black, Blue, Red };
    }
}
Поля взял из предыдущей задачи.

Решение задачи: «Установить отношения между сущностями: автомобиль, грузовик, автобус, двигатель и радио»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Lab_4
{
    class Program
    {
        static void Main(string[] args)
        {
            Bus Bus = new Bus("Audi","ww","Ферма");
            Console.WriteLine("Автобус: {0}", Bus.Brand);
            Console.WriteLine("Радио: {0}", Bus.Radio);
 
            Console.ReadKey();
        }
        public abstract class Car
        {
            //Авто
            private String brand;
            private string eng;
            public string rad;
 
            //******************************************************************
 
            public String Brand//Марка
            {
                get { return brand; }
            }
            public String Engine//Двигатель
            {
                get { return eng; }
            }
 
            //******************************************************************
 
            //Конструктор класса Car
            public Car(String Brand, String Engine)
            {
                this.brand = Brand;
                this.eng = Engine;
 
            }
 
            //******************************************************************
            // Изменение марки
 
            public virtual void ChangeBrand(String newBrand) //virtual означает, что можно переопределить этот метод
            {
                this.brand = newBrand;
            }
 
            public virtual void ChangeEngine(String newEngine)
            {
                this.eng = newEngine;
            }
 
          }
        public class Bus : Car
        {
            public Bus(String Brand, string eng, string rad)
                : base(Brand, eng) //base - передача параметров в конструктор базового класса
            {
            }
 
            public override void ChangeBrand(string newBrand)
            {
                base.ChangeBrand(newBrand);
            }
 
            public override void ChangeEngine(String newEngine)
            {
                base.ChangeEngine(newEngine);
            }
 
        }
                    public abstract get Radio(string rad)
            {
                return this.Radio("Шансон");
            }

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

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