Sobes.tech
Junior — Middle

Օբյեկտային ուղղված ծրագրավորման մեջ՝ ինչ տարբերություններ կան աբստրակտ դասի և ինտերֆեյսի միջև։

sobes.tech AI

Պատասխան AI-ից

Աբստրակտ դասը և ինտերֆեյսը տարբեր մեխանիզմներ են օբյեկտային ծրագրավորման մեջ պայմանագրեր և վարքագիծ նկարագրելու համար, բայց հիմնական տարբերություններով.

  • Աբստրակտ դասը կարող է պարունակել ինչպես աբստրակտ (չունի իրագործում), այնպես էլ կոնկրետ մեթոդներ իրագործմամբ: Նա կարող է ունենալ վիճակ (գոտիներ): Կլասները ժառանգում են աբստրակտ դասից և կարող են վերագրել մեթոդներ:

  • Ինտերֆեյսը նկարագրում է միայն մեթոդների հավաքածու առանց իրագործման և չի պարունակում վիճակ: Ինտերֆեյսը իրագործող կլասը պարտավոր է իրագործել բոլոր մեթոդները:

Օրինակ, Flyable ինտերֆեյսը կարող է նկարագրել fly() մեթոդը, իսկ Bird աբստրակտ դասը կարող է պարունակել wingSpan դաշտը և sing() մեթոդը իրագործմամբ: