Sobes.tech
Junior

რა არის აბსტრაქტული კლასებისა და ინტერფეისების შორის განსხვავება?

sobes.tech AI

პასუხი AI-სგან

აბსტრაქტული კლასი:

  • შეიძლება შეიცავდეს აბსტრაქტულ (შესრულება არ აქვს) და კონკრეტულ (შესრულებით) მეთოდებს.
  • შეიძლება შეიცავდეს ველებს (ინსტანციის ცვლადებს).
  • შეიძლება ჰქონდეს კონსტრუქტორები.
  • საშუალებას აძლევს მარტივ მემკვიდრეობას (ერთი კლასი შეიძლება მემკვიდრეობას იღებდეს აბსტრაქტულ კლასიდან).
  • გამოიყენება დაკავშირებული კლასებისთვის ძირითადი სტრუქტურის და საერთო ქცევის განსაზღვრად.

ინტერფეისი:

  • შეიძლება შეიცავდეს მხოლოდ აბსტრაქტულ მეთოდებს (ზოგი ენა, მაგალითად Java 8-დან და შემდეგ, საშუალებას აძლევს default და static მეთოდებს განხორციელებით).
  • არ შეუძლია შეიცავდეს ინსტანციის ველებს (მხოლოდ კონსტანტებს).
  • არ შეუძლია ჰქონდეს კონსტრუქტორები.
  • საშუალებას აძლევს მრავალჯერად განხორციელებას (ერთი კლასი შეიძლება რამდენიმე ინტერფეისის განხორციელება).
  • გამოიყენება კონტრაქტის განსაზღვრად, რომელიც კლასებს უნდა შეასრულონ.