хей, ребята,
Я пытаюсь решить эту домашнюю работу.Я зашел в тупик и ищу человека, который мог бы помочь с этой проблемой.
Это задача, которую я пытаюсь решить:
Работа 2: Абстрактный классне полный класс, он пропускает некоторые части, и вы не можете создавать объекты из него.Программист, который пишет производные классы, должен заполнить недостающие части.Рассмотрим абстрактный класс Vehicle.Выведите две иерархии из этого класса, как показано ниже: Теперь напишите 4 класса, увидите желтый прямоугольник.Начните с абстрактного базового класса Vehicle -> Vehicle с 4 колесами -> Sport Cars и остановитесь на производном классе Rally, который является наиболее конкретным классом.Класс Vehicle содержит поле, которое содержит имя транспортного средства и абстрактный метод void Display ().
Реализуйте эту функцию в производных классах, чтобы функция возвращала информацию о транспортном средстве, например, мощность двигателя и др.необходимые свойства.Последний производный класс имеет частные поля для хранения мощности двигателя, веса автомобиля, ускорения автомобиля, максимальной скорости и функции, которая вычисляет удельную мощность (мощность / вес).Функция Display возвращает текстовую строку со всей этой информацией.Проверьте свою работу в консольном приложении, в котором используются объекты типа «Спортивная машина» и «Ралли».
Автомобиль класса:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace A_work_2
{
public abstract class Vehicle
{
public string vehicleName;
public abstract void Display();
}
}
Автомобиль класса 4 Колеса:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace A_work_2
{
public class Vehicle4Wheels : Vehicle
{
public override void Display()
{
Console.WriteLine("Car with four wheels.");
}
}
}
Класс SportCar:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace A_work_2
{
public class SportCar : Vehicle4Wheels {
public override void Display()
{
Console.WriteLine("Sport version of the car.");
}
}
}
Ралли класса:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace A_work_2
{
public class Rally : SportCar
{
private double motorPower = 408;
private double carWeight = 2380;
private double carAcceleration = 4.7;
private double highestSpeed = 250;
public double SpecificPower()
{
double specificPower = motorPower / carWeight;
return specificPower;
}
public override void Display()
{
Console.WriteLine("The acceleration is: {0}.\nThe highest speed is {1} km/h.", carAcceleration, highestSpeed);
Console.WriteLine("Specific power is {0}", SpecificPower());
}
}
}
Я не уверен, ясно ли я понимаю задачу и с кодом, который у меня есть, я не знаюесли я на правильном пути, чтобы это произошло.Я не очень понимаю абстрактные классы и наследование.
Спасибо за вашу помощь!
V.
РЕДАКТИРОВАТЬ: Мой вопрос: Как я могу изменить код, который у меня есть?написано для выполнения задачи, которую мне дали?Потому что я не уверен, как быть общим при написании кода.Когда я добавляю атрибут car в класс Vehicle4Wheels, например:
private double carWeight;
Как я могу приблизиться к этому атрибуту в последующих производных классах?