Middle
Абстракттуу класс менен интерфейсинин айырмасы эмнеде?
sobes.tech AI
AIден жооп
Абстракттуу класс — бул, ишке ашырылган жана ишке ашырылбаган (реализациясы жок) методдорду камтыган класс. Ал мурас алуу үчүн негиз болуп кызмат кылат жана абалы (майдандар) болушу мүмкүн.
Интерфейс — бул классикалык түшүнүктө, ишке ашырылбаган методдордун топтомун аныктаган келишим. Интерфейсти ишке ашырган класс, анын бардык методдорун ишке ашырышы керек.
Негизги айырмачылыктар:
- Абстракттуу класс, ишке ашырылган жана абалы бар, интерфейс — гана методдордун белгилери (кей тилдерде, интерфейстерде, алдын ала иштелип чыккан методдор болушу мүмкүн).
- Бир класс гана бир абстракттуу класстан мурас алса болот, бирок бир нече интерфейстерди ишке ашыра алат.
- Абстракттуу класс жарым-жартылай ишке ашыруу камсыздайт, интерфейс — гана келишим.
Java мисалы:
abstract class Animal {
void eat() { System.out.println("Жейт"); }
abstract void sound();
}
interface Flyable {
void fly();
}
class Bird extends Animal implements Flyable {
void sound() { System.out.println("Чирк"); }
public void fly() { System.out.println("Учуп жатат"); }
}