Junior
Объектке багытталган программалоодо "мен" жана "менин" мамилелери эмне мааниге ээ?
sobes.tech AI
AIден жооп
"-a" (is-a) мамилеси мурасият. Тарбияланган синф "бир" ата-энеси синф ва унинг хосиятлари ва хулқ-атворини мерос қилиб олади.
// Ата-энеси синф
class Animal {
void eat() {
System.out.println("Ҳайвон емоқда");
}
}
// Тарбияланган синф
class Dog extends Animal {
void bark() {
System.out.println("Эшик уряди");
}
}
Ушбу мисолда, Dog "-a" 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. Композиция қавий боғлиқликни англатади (ўзгартирилган объектнинг ҳаёти унинг ўзига боғлиқ), агрегатсия эса заифроқ (объектлар мустақил мавжуд бўлиши мумкин). Мисол композицияни кўрсатади.
Асосий фарқлар:
- "-a" (
is-a) — мерос, турлар ҳиерархиясини белгилайди. - "Мен" (
has-a) — композиция/агрегатсия, объектнинг тузилмасини бошқа объектларни қўшиш орқали белгилайди.