Junior
Чӣ гуна синфи меросӣ функсионалияти синфи падарро истифода мебарад?
sobes.tech AI
Ҷавоб аз AI
Мерос бо‘лиш: мерос олиш синфи-муҳосира ота-она синфининг оммавий ва ҳимояланган аъзоларини олади.
- Тўғридан-тўғри кириш: Мерос олиш синф ичида ота-она синфининг оммавий ва ҳимояланган майдонларига номлари билан тўғридан-тўғри мурожаат қилиш мумкин.
superкалит сўзи: Бу ота-она синфининг конструкторини чақириш ёки ота-она синфининг қайта ишланган методлари/майдонларига мурожаат қилиш учун ишлатилади, агар мерос олиш синфида бир хил номдаги аъзолар бўлса.- Қайта ишлаш (overriding): Ота-она синфининг (
finalэмас) методлари мерос олиш синфида қайта ишланиши мумкин, уларнинг ҳаракатини ўзгартириш учун.
// Ота-она синфининг мисоли
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Ота қиймати: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Бу метод қайта ишланмайди.");
}
}
// Мерос олиш синфининг мисоли
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Ота конструкторини чақириш
this.childValue = childValue;
}
// Ота методини қайта ишлаш
@Override
public void displayParentValue() {
System.out.println("Қайта ишланган ота қиймати: " + parentValue); // ҳимояланган майдонга кириш
}
public void displayChildValue() {
System.out.println("Болалар қиймати: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // super орқали ота методини чақириш
}
}