Клас (програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
Tir256 (беседа | приноси)
Tir256 (беседа | приноси)
Ред 32:
Повечето обектно ориентирани езици за програмиране позволяват на програмистите да уточняват кои класове се смятат за абстрактни и няма да позволят на такива да бъдат инстанцирани. Например в [[Java|Java]] и [[PHP|PHP]], ключовата дума abstract (абстрактен) се използва. В [[C++|C++]], абстрактен клас е такъв имащ поне един абстрактен метод зададен чрез съответния синтаксис в езика (чиста виртуална функция в C++ езика).
 
Клас състоящ се само от виртуални методи се нарича Чисто Абстрактен Основен Клас (Pure ABC) в C++ и също е известен като [[интерфейс (програмиране)|интерфейс]] от потребителите на езика. Други езици, особено Java и C#, поддържат вариант на абстрактни класове, наричани interface (интерфейс) чрез ключовата дума в езика. В тези езици [[множественото наследяване|множественото наследяване]] не е разрешено, но класа може да имплементира много интерфейси. Такъв клас може само да съдържа публично достъпни методи.
 
Конкретния клас (concrete class) е такъв, който може да се [[инстанциране|инстанцира]], противоположно на абстрактните класове, които не могат.