Junior
Obyekt yönümlü proqramlaşdırmada "mən" və "sahibəm" münasibətləri nə anlama gəlir?
sobes.tech Süni İntellekt
AI-dan cavab
"-a" (is-a) münasibəti irsiyyətdir. Törəmə sinif "bir" valideyn sinifdir və onun xüsusiyyətlərini və davranışlarını miras alır.
// Valideyn sinfi
class Animal {
void eat() {
System.out.println("Heyvan yeyir");
}
}
// Törəmə sinfi
class Dog extends Animal {
void bark() {
System.out.println("İt havlayır");
}
}
Bu nümunədə, Dog "-a" Animal.
"Mənim" (has-a) münasibəti kompozisiya və ya agregasiyadır. Bir obyekt başqa obyektə onun vəziyyətinin bir hissəsi kimi istinad edir.
class Engine {
void start() {
System.out.println("Mühərrik işə düşdü");
}
}
class Car {
private Engine engine; // Maşın "mənim" mühərrikim var
public Car() {
this.engine = new Engine();
}
void drive() {
engine.start();
System.out.println("Maşın hərəkətdə");
}
}
Burada, Car "mənim" Engine-im var. Kompozisiya güclü əlaqəni ifadə edir (daxil olan obyektin həyat dövrü onu daxil edən obyektə bağlıdır), agregasiya isə zəifdir (obyektlər müstəqil mövcud ola bilər). Nümunə kompozisiyanı göstərir.
Əsas fərqlər:
- "-a" (
is-a) — irsiyyət, tiplər hierarxiyasını müəyyən edir. - "Mənim" (
has-a) — kompozisiya/agregasiya, obyektin strukturunu digər obyektlərin daxil edilməsi ilə müəyyən edir.