motkot
@motkot
Программирование C#.

Как реализовать эту систему?

Здраствуйте, специалисты. Решил делать игру ( знания Unity для ответа не нужны ).

Есть абстрактный класс UnitBase

public abstract class UnitBase
{
    public void Move(Cell cell)
    {

    }

    public void Attack(Cell cell)
    {
        
    }

    public List<Cell> CalculateVariants()
    {
        var variants = new List<Cell>();


        return variants;
    }
}


У каждый юнит будет наследовать этот класс. Я хотел сделать несколько свойст только с get( например health,damage и тп.). Но зачем их делать абстрактными, если можно сделать класс не абстрактным и разницы не будет ( Просто публичные поля Health, Damage и тд). Ну даже если я потом захочу сделать какие-нибудь способности для особых юнитов, то просто к классам этих юнитов допишу это. В чем прикол? И как лучше?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
@Araya
Прикол в том, что объект абстрактного класса нельзя создать, то, что вам и нужно.
Ну и те, кто будут от него наследоваться, обязуются реализовать эти методы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы