Что такое абстрактный класс. Для начинающих

Тема в разделе "Флудилка", создана пользователем NR55RU, 17 июл 2014.

  1. NR55RU

    NR55RU Гик

    Наблюдая на разных программных форумах время от времени всплывающий вопрос от начинающих в попытке понять что же такое абстрактный класс, я решил попытаться написать собственное объяснение этого явления.
    На самом деле описать самую ИДЕЮ абстрактного класса не так просто как его чисто "физические" свойства, в общем не знаю получилось у меня или нет, первую попытку я просто удалил даже не "публикуя" эта вроде вышла получше, правда я так и не понял удалось ли мне или нет так как описывать идеологию куда сложнее чем воткните этот провод туда и напишите вот такой код :)

    Что такое абстрактный класс
     
    Megakoteyka нравится это.
  2. Unixon

    Unixon Оракул Модератор

    Хотелось бы немного предостеречь от бездумного использования данного инструмента. Абстрактные классы бывает люто выбешивают, т.к. у наследников приходится писать реализации или затычки для всех абстрактных методов каждый раз, даже если на них абсолютно пофиг. Поэтому, вместо абстрактных методов предпочитаю обычные виртуальные с пустой реализацией. Толку от них столько же, а жить не мешают.
     
  3. NR55RU

    NR55RU Гик

    В этом вы разумеется правы, но такие вещи это уже из разряда "Почувствуй силу Люк" :)
    Такое осознание приходит с опытом и "шишками", а уж тем более такие вещи как уровни абстракции, абстрактные классы, интерфейсы, наследование, полиморфизм и тд и тп, это вообще сродни искусству на мой взгляд :)
     
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Сразу вспоминается из статьи на хабре: "и до сих пор никто не знает, чем отличается абстрактный класс от интерфейса" :D
     
  5. NR55RU

    NR55RU Гик

    Да это просто перед разработкой Java кто то встал и сказал, а чем наш язык будет отличатся от C++ ?, так в Java появились интерфейсы и исчезло множественное наследование :D (шЮтка разумеется)