Sobes.tech
Junior

Obyektga yo'naltirilgan dasturlashda "men" va "bor" munosabatlari nima anglatadi?

sobes.tech AI

AIdan javob

"-a" (is-a) munosabat hereditar. O'rgina sinfi "bor" va uning xususiyatlari va xulq-atvorini meros oladi.

// Ota sinf
class Animal {
    void eat() {
        System.out.println("Hayvon ovqatlanadi");
    }
}

// O'g'il sinf
class Dog extends Animal {
    void bark() {
        System.out.println("It baqiradi");
    }
}

Ushbu misolda, Dog "-a" Animal.

"Bor" (has-a) munosabat kompozitsiya yoki agregatsiya. Bir obyekt boshqa obyektga uning holati qismi sifatida murojaat qiladi.

class Engine {
    void start() {
        System.out.println("Dvigatel ishga tushdi");
    }
}

class Car {
    private Engine engine; // Avtomobil "bor" dvigatel

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

    void drive() {
        engine.start();
        System.out.println("Avtomobil harakatda");
    }
}

Bu yerda, Car "bor" Engine. Kompozitsiya kuchli bog'liqlikni anglatadi (ichki obyektning hayoti uni o'z ichiga olgan obyektdan bog'liq), agregatsiya esa zaifroq (obyektlar mustaqil mavjud bo'lishi mumkin). Misol kompozitsiyani ko'rsatadi.

Asosiy farqlar:

  • "-a" (is-a) — meros, tur tarmoqlarini belgilaydi.
  • "Bor" (has-a) — kompozitsiya/agregatsiya, ob'ektning tuzilishini boshqa obyektlarni qo'shish orqali belgilaydi.