2. Интерфейслар ва абстракт синфлар ўртасидаги фарқ нима?
C# дастурлаш тилида интерфейслар ва абстракт синфлар ўртасида қуйидаги фарқлар мавжуд:
1. Интерфейсда унинг аъзоларини амалга оширишни белгилаш тақиқланади. Абстракт синфда баъзи аъзолар амалга оширишга эга бўлиши мумкин. Бошқача қилиб айтганда, интерфейс бу - барча методлари абстракт бўлган, абстракт синфдир.
2. Интерфейсда майдонларни (ўзгарувчилар, объектлар) тасвирлаш тақиқланади, абстракт синфда бу мумкин.
3. Интерфейсда ортиқча юкланган операторларни эълон қилиш тақиқланади. Абстракт синфда маълум шароитларда ортиқча юкланган операторларни эълон қилишга рухсат берилади.
4. Интерфейс конструкторни ўз ичига олмайди. Конструктор абстракт синфда эълон қилиниши мумкин.
5. Ҳар қандай синф бир нечта интерфейслардан мерос бўлиши мумкин. Бундан ташқари, ҳар қандай синф фақат битта абстракт синфдан мерос бўлиши мумкин (ва ундан ортиқ эмас).
6. Интерфейсда статик элементларни эълон қилиш тақиқланади (static калит сўзи билан). Абстракт синфда статик аъзоларни эълон қилишга рухсат берилади.
7. Интерфейсда барча элементлар public деб ҳисобланади ва шунинг учун интерфейсда кириш (доступа, рухсат) модификаторларидан фойдаланилмайди. Абстракт синфда элементлар ҳар қандай кириш модификатори (private, protected, public) билан эълон қилиниши мумкин.
3. Сколько классов могут иметь реализацию методов интерфейса?
Если интерфейс определен, то он может быть реализован в любом количестве классов.
4. Сколько интерфейсов может быть реализовано в одном классе?
В одном классе может быть реализовано любое количество интерфейсов.
5. Какой общий вид описания интерфейса?
Интерфейсы объявляются с помощью ключевого слова interface. Общая форма описания интерфейса, в котором определяются методы, следующая:
interface имя
{
возвращаемый_тип1 имя_метода1(параметры1);
Do'stlaringiz bilan baham: |