Middle
Abstrakt sinif və mixin arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Məcmuə sinfi:
- Adi və ya abstrakt metodlar və sahələr ola bilər.
- Birbaşa məcmuə sinfinin nümunəsini yaratmaq mümkün deyil.
- Quruculara sahib ola bilər.
extendsaçar sözü ilə irsi alınır. Yalnız bir irsi dəstəkləyir.- Alt siniflər üçün ümumi davranış və struktur müəyyən etmək üçün istifadə olunur.
Məcmuə:
- Metodlar və sahələr ola bilər, amma qurucuları təyin edə bilməz.
- Nümunə yaratmaq üçün nəzərdə tutulmayıb.
- İrsi hierarhiyaya uyğun olmayan sinflərə funksionallıq əlavə etmək üçün istifadə olunur.
withaçar sözü ilə siniflə birləşdirilir. Bir sinif bir neçə məcmuədən istifadə edə bilər.
| Xüsusiyyət | Məcmuə sinfi | Məcmuə |
|---|---|---|
| Nümunə | Birbaşa yaradıla bilməz | Yaradıla bilməz |
| Qurucu | Ola bilər | Ola bilməz |
| İrsi | extends (yalnız) |
with (çoxlu) |
| Əsas məqsəd | Hierarxiyanı təyin etmək | Davranışı əlavə etmək |
Məcmuə sinfinin istifadəsi nümunəsi:
abstract class LivingBeing {
void breathe(); // Abstrakt metod
void grow() { // Normal metod
print('Böyümək...');
}
}
class Human extends LivingBeing {
@override
void breathe() {
print('Ağciyərlə nəfəs alma');
}
}
Məcmuə nümunəsi:
mixin Walkable {
void walk() {
print('Yürümək...');
}
}
mixin Swimmable {
void swim() {
print('Üzmək...');
}
}
class Dog with Walkable, Swimmable {
// Dog sinfi indi walk() və swim() metodlarına malikdir
}