Junior — Middle
Օբյեկտային ուղղված ծրագրավորման մեջ՝ ինչ տարբերություններ կան աբստրակտ դասի և ինտերֆեյսի միջև։
sobes.tech AI
Պատասխան AI-ից
Աբստրակտ դասը և ինտերֆեյսը տարբեր մեխանիզմներ են օբյեկտային ծրագրավորման մեջ պայմանագրեր և վարքագիծ նկարագրելու համար, բայց հիմնական տարբերություններով.
-
Աբստրակտ դասը կարող է պարունակել ինչպես աբստրակտ (չունի իրագործում), այնպես էլ կոնկրետ մեթոդներ իրագործմամբ: Նա կարող է ունենալ վիճակ (գոտիներ): Կլասները ժառանգում են աբստրակտ դասից և կարող են վերագրել մեթոդներ:
-
Ինտերֆեյսը նկարագրում է միայն մեթոդների հավաքածու առանց իրագործման և չի պարունակում վիճակ: Ինտերֆեյսը իրագործող կլասը պարտավոր է իրագործել բոլոր մեթոդները:
Օրինակ, Flyable ինտերֆեյսը կարող է նկարագրել fly() մեթոդը, իսկ Bird աբստրակտ դասը կարող է պարունակել wingSpan դաշտը և sing() մեթոդը իրագործմամբ: