Size: a a a

2020 May 31

А

Александр in unity3d.ru
Александр
Банальный пример - универ. У тебя есть абстрактный класс Человек. Ты знаешь что у него есть две руки, две ноги, не более. Это есть абстракция. Однако в универе есть разные типы людей - лекторы и студенты. Наследуется Лектор от Человека, и реализует свойства человека первым путём. Есть Студент, который также реализует свойства человека, но уже вторым путём.
В твоей программе "Универ" нужно работать только со студентами и лекторами (если захочешь, то и экземпляр создать сможешь). Затрагивать же Человека тебе не нужно, так как на то он и абстрактный, чтобы быть лишь каким-то "силуэтом". Следовательно, экземпляры человека тебе не нужно создавать, поэтому можно пометить его абстрактным
источник

AP

Alexander P in unity3d.ru
Phantom
Нельзя создать экземпляр абстрактного класса
экземпляр, а не класс
источник

RE

Rokko Effe in unity3d.ru
Andrey Tverdostup
У тебя есть абстрактный класс Машины, дальше ты наследуешь характеристики Машин в отдельных класса Тойота, Лада, УАЗ
Характеристики машин настраиваются в полях экземпляра класса. Скорее, от класса машина ты наследуешь автомобиль, мотоцикл, грузовик и автобус)
источник

TS

Timofei Shibaev in unity3d.ru
Rokko Effe
Характеристики машин настраиваются в полях экземпляра класса. Скорее, от класса машина ты наследуешь автомобиль, мотоцикл, грузовик и автобус)
от класса транспорт
источник

P

Phantom in unity3d.ru
Alexander P
экземпляр, а не класс
да да , всю ночь не спал, щя пиздец туплю
источник

А

Александр in unity3d.ru
Rokko Effe
Характеристики машин настраиваются в полях экземпляра класса. Скорее, от класса машина ты наследуешь автомобиль, мотоцикл, грузовик и автобус)
Думаю он имел в виду "Автомобиль" под "Машиной"
источник

RE

Rokko Effe in unity3d.ru
Александр
Думаю он имел в виду "Автомобиль" под "Машиной"
но всё-равно чем может отличатся реализация Тойоты от Лады? Логика и методы те же, типа ехать, тормозить. Разные лишь характеристики у экземпляров
источник

AT

Andrey Tverdostup in unity3d.ru
кол-во сидений, к примеру
источник

А

Александр in unity3d.ru
Rokko Effe
но всё-равно чем может отличатся реализация Тойоты от Лады? Логика и методы те же, типа ехать, тормозить. Разные лишь характеристики у экземпляров
Разные характеристики, да)
источник

AP

Alexander P in unity3d.ru
По-моему, все эти аналогии излишни. Достаточно просто сказать, что абстрактный класс может иметь методы и свойства без реализации, отдавая эту задачу на те классы. которые будут реализовывать абстрактный.
источник

А

Александр in unity3d.ru
Alexander P
По-моему, все эти аналогии излишни. Достаточно просто сказать, что абстрактный класс может иметь методы и свойства без реализации, отдавая эту задачу на те классы. которые будут реализовывать абстрактный.
Так не всегда легко понять, почему класс называют абстрактным, и зачем его таковым делать
источник

А

Александр in unity3d.ru
Тем более если он впервые встречает его
источник

RE

Rokko Effe in unity3d.ru
Важное отличие абстрактного класса от интерфейса - абстрактный класс может объявлять поля, интерфейс не может
источник

А

Александр in unity3d.ru
С интерфейсами возможно множественное наследование, можно создать экземпляр с типом интерфейса
источник

DP

Dimas Prima in unity3d.ru
Да я то видел видосики и наши и зарубежные, но если у меня например есть Health то в чем соль абстракт класса ? Мне же все равно нужно реализовать метод ?
источник

RE

Rokko Effe in unity3d.ru
Потому что интерфейс - это именно способ взаимодействия с объектом, значит только с методами. А абстрактный класс - шаблон объекта, со всеми методами и полями
источник

TS

Timofei Shibaev in unity3d.ru
Вы забыли сказать, что абстрактные классы позволяют взаимозаменять объекты
источник

А

Александр in unity3d.ru
Dimas Prima
Да я то видел видосики и наши и зарубежные, но если у меня например есть Health то в чем соль абстракт класса ? Мне же все равно нужно реализовать метод ?
Конкретнее вопрос в чём?)
источник

RE

Rokko Effe in unity3d.ru
Timofei Shibaev
Вы забыли сказать, что абстрактные классы позволяют взаимозаменять объекты
В смысле взаимозаменять объекты?
источник

TS

Timofei Shibaev in unity3d.ru
Rokko Effe
В смысле взаимозаменять объекты?
метод принимает абстрактный класс, и мы в аргументы можем подставить любого наследника
источник