Описание класса "транспортные средства" - C#

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

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

Доброго времени суток! Прошу помочь с решением следующей задачи. Нужно 1. Trans с на о транспортном средстве, а грузоподъемность транспортного средства. 2. производные ы: Легковая_машина (марка, номер, скорость, грузоподъемность), Мотоцикл (марка, номер, скорость, грузоподъемность, наличие коляски, при этом если коляска отсутствует, то грузоподъемность равна 0), Грузовик (марка, номер, скорость, грузоподъемность, наличие прицепа, при этом если есть прицеп, то грузоподъемность увеличивается в два раза) со своими вывода информации на , и определения грузоподъемности. 3. базу (массив) из n машин, полную из базы на .

*на примере консольного приложения

Заранее благодарен!

Решение задачи: «Описание класса "транспортные средства"»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Collections;
 
class Program
{
    public abstract class Trans
    {
        public abstract void PrintInfo();
        public abstract double CalcCapacity();
    }
 
    public class PassangerCar : Trans
    {
        public string Mark { get; set; }
        public string Number { get; set; }
        public double Speed { get; set; }
        public double Capacity { get; set; }
 
        public PassangerCar(string mark, string number, double speed, double capacity)
        {
            Mark = mark;
            Number = number;
            Speed = speed;
            Capacity = capacity;
        }
 
        public override void PrintInfo()
        {
            Console.WriteLine("Марка: {0}\nНомер: {1}\nСкорость: {2}\nГрузоподъемность: {3}\n", Mark, Number, Speed, CalcCapacity());
        }
 
        public override double CalcCapacity()
        {
            return Capacity;
        }
    }
 
    public class Motorcycle : Trans
    {
        public string Mark { get; set; }
        public string Number { get; set; }
        public double Speed { get; set; }
        public double Capacity { get; set; }
        public bool HasCarriage { get; set; }
 
        public Motorcycle(string mark, string number, double speed, double capacity, bool carriage)
        {
            Mark = mark;
            Number = number;
            Speed = speed;
            Capacity = capacity;
            HasCarriage = carriage;
        }
 
        public override void PrintInfo()
        {
            Console.WriteLine("Марка: {0}\nНомер: {1}\nСкорость: {2}\nГрузоподъемность: {3}\nНаличие коляски: {4}\n", Mark, Number, Speed, CalcCapacity(), HasCarriage ? "Да" : "Нет");
        }
 
        public override double CalcCapacity()
        {
            return HasCarriage ? Capacity : 0;
        }
    }
 
    public class Truck : Trans
    {
        public string Mark { get; set; }
        public string Number { get; set; }
        public double Speed { get; set; }
        public double Capacity { get; set; }
        public bool HasTrailer { get; set; }
 
        public Truck(string mark, string number, double speed, double capacity, bool trailer)
        {
            Mark = mark;
            Number = number;
            Speed = speed;
            Capacity = capacity;
            HasTrailer = trailer;
        }
 
        public override void PrintInfo()
        {
            Console.WriteLine("Марка: {0}\nНомер: {1}\nСкорость: {2}\nГрузоподъемность: {3}\nНаличие прицепа: {4}\n", Mark, Number, Speed, CalcCapacity(), HasTrailer ? "Да" : "Нет");
        }
 
        public override double CalcCapacity()
        {
            return HasTrailer ? Capacity * 2 : Capacity;
        }
    }
 
    static void Main(string[] args)
    {
        var arr = new ArrayList();
        arr.Add(new Motorcycle("ИЖ", "123456", 120, 15, false));
        arr.Add(new PassangerCar("Жигули", "НР5364АП", 150, 50));
        arr.Add(new Truck("Камаз", "431413", 100, 500, true));
        arr.Add(new Truck("Белаз", "357732", 90, 1000, true));
        foreach (Trans obj in arr)
            obj.PrintInfo();
        Console.ReadKey();
    }
}

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


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

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

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