Sobes.tech
Junior

Маънои муносибатҳои "ман" ва "дор" дар барномасозии объектӣ чист?

sobes.tech AI

Ҷавоб аз AI

Маънои "являю" (is-a) — ин ирсиёт аст. Класс-муҳосиб "ист" як класс-предок ва мерос мегирад хусусиятҳо ва рафторҳоро.

// Класс-предок
class Animal {
    void eat() {
        System.out.println("Ҳайвон мехӯрад");
    }
}

// Класс-муҳосиб
class Dog extends Animal {
    void bark() {
        System.out.println("Саг меғелад");
    }
}

Дар ин мисол, Dog "ист" Animal.

Маънои "ман" (has-a) — ин композиция ё агрегация. Як объект "ман" ишора мекунад ба дигар объект ҳамчун қисми ҳолати худ.

class Engine {
    void start() {
        System.out.println("Мотор оғоз шуд");
    }
}

class Car {
    private Engine engine; // Мошин "ман" муҳаррик дорад

    public Car() {
        this.engine = new Engine();
    }

    void drive() {
        engine.start();
        System.out.println("Мошин ҳаракат мекунад");
    }
}

Ин ҷо, Car "ман" Engine. Композиция маънои муносибати қавӣ дорад (давраи зиндагии объекти дарунсохт аз он вобаста аст, ки онро чӣ мепайвандад), агрегация — заифтар (объектҳо метавонанд мустақилона вуҷуд дошта бошанд). Намуна композицияро нишон медиҳад.

Тавсифи асосӣ:

  • "ист-" (is-a) — ирсиёт, ҳиерархияи намудҳоро муайян мекунад.
  • "ман" (has-a) — композиция/агрегация, сохтори объектиро тавассути дохил кардани дигар объектҳо муайян мекунад.