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-ის საშუალებით
}
}