არის ტიპი, ისევე როგორც კლასი არის ტიპი. კლასის მსგავსად, ინტერფეისი განსაზღვრავს მეთოდებს. კლასისგან განსხვავებით, ინტერფეისი არასოდეს ახორციელებს მეთოდებს; ამის ნაცვლად, კლასები, რომლებიც ახორციელებენ ინტერფეისს, ახორციელებენ ინტერფეისით განსაზღვრულ მეთოდებს. კლასს შეუძლია მრავალი ინტერფეისის დანერგვა.
ინტერფეისი და კლასი ერთი და იგივეა?
ინტერფეისს შეუძლია მრავალი ინტერფეისის გაფართოება. კლასს შეუძლია მრავალი ინტერფეისის დანერგვა. შვილობილ კლასს შეუძლია განსაზღვროს აბსტრაქტული მეთოდები იგივე ან ნაკლებად შემზღუდველი ხილვადობით, მაშინ როცა ინტერფეისის განმახორციელებელი კლასმა უნდა განსაზღვროს ყველა ინტერფეისის მეთოდი საჯარო. აბსტრაქტულ კლასებს შეიძლება ჰქონდეთ კონსტრუქტორები, მაგრამ არა ინტერფეისები.
არის თუ არა ინტერფეისი ობიექტი?
ინტერფეისი არის პროგრამირების სტრუქტურა/სინტაქსი, რომელიც საშუალებას აძლევს კომპიუტერს განახორციელოს გარკვეული თვისებები ობიექტზე (კლასი). მაგალითად, თქვით, რომ გვაქვს მანქანების კლასი და სკუტერების კლასი და სატვირთო მანქანების კლასი. ამ სამი კლასიდან თითოეულს უნდა ჰქონდეს start_engine ქმედება.
არის ინტერფეისები სუპერ კლასები?
დაიმახსოვრეთ, Java კლასს შეიძლება ჰქონდეს მხოლოდ 1 სუპერკლასი, მაგრამ მას შეუძლია მრავალი ინტერფეისის დანერგვა. ამრიგად, თუ კლასს უკვე აქვს განსხვავებული სუპერკლასი, მას შეუძლია ინტერფეისის დანერგვა, მაგრამ მას არ შეუძლია სხვა აბსტრაქტული კლასის გაფართოება. ამიტომ ინტერფეისები უფრო მოქნილი მექანიზმია საერთო ინტერფეისის გამოსავლენად.
ინტერფეისები ჰგავს კლასებს?
კლასის მსგავსად, ინტერფეისს შეიძლება ჰქონდეს მეთოდები და ცვლადები,მაგრამ ინტერფეისში გამოცხადებული მეთოდები ნაგულისხმევად აბსტრაქტულია (მხოლოდ მეთოდის ხელმოწერა, არა სხეული). ინტერფეისები განსაზღვრავს რა უნდა გააკეთოს კლასმა და არა როგორ. ეს არის კლასის გეგმა.