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.