Junior — Middle
Объектке багытталган программалоодо абстракттуу класс жана интерфейс ортосунда негизги айырма эмнеде?
sobes.tech AI
AIден жооп
Негизги айырмасы абстракттуу класс жана интерфейс ортосунда, абстракттуу класс методдордун жана абалдын (майдандар) ишке ашырылышын камтыса алат, ал эми интерфейс гана методдордун колтамгаларын аныктайт, ишке ашырылышсыз (C# 8.0 чейин). Абстракттуу класс мурас алгандар үчүн негизги ишке ашырылышты жана жалпы функцияларды белгилөө үчүн колдонулат, ал эми интерфейс класстар аткарышы керек болгон келишимди аныктоо үчүн пайдаланыла турган нерсе, алардын мурас тартибинен көз каранды эмес.
Мисал:
// Абстракттуу класс
public abstract class Animal {
public void Eat() {
Console.WriteLine("Жейт");
}
public abstract void MakeSound();
}
// Интерфейс
public interface IMovable {
void Move();
}
// Абстракттуу классты мурас алган жана интерфейсти ишке ашырган класс
public class Dog : Animal, IMovable {
public override void MakeSound() {
Console.WriteLine("Кулагын жулуп жатат");
}
public void Move() {
Console.WriteLine("Жүгүрүү");
}
}