Junior
Երբ մեթոդը համարվում է վերաշարադրած (overriding)?
sobes.tech AI
Պատասխան AI-ից
Օբյեկտային ուղղված ծրագրավորման մեջ մեթոդը համարվում է վերագրած (overriding), երբ՝
- այն սահմանված է ենթակլասում նույն անունով, վերադարձվող տիպով և պարամետրերի ցանկով (հատկանիշով), ինչպիսիք են վերին դասի մեթոդը:
- վերին դասի մեթոդը
privateչէ: - ենթակլասի մեթոդը չունի ավելի խիստ մուտքի մոդիֆիկատոր, քան վերին դասի մեթոդը:
- դեպքերում, երբ արտահայտվում են արտահայտություններ, վերագրած մեթոդը չի կարող հայտարարել ստուգվող արտահայտություններ ([checked exceptions]), որոնք ավելի ընդհանուր են, քան վերին դասի մեթոդում նշվածները:
Երբ վերագրած մեթոդը կանչվում է ենթակլասի օբյեկտի վրա, կատարվում է ենթակլասի մեթոդի տարբերակը։ Սա ժամանակի ընթացքում պոլիմորֆիզմի օրինակ է։
Օրինակ Java-ում՝
// java
class Animal {
public void makeSound() {
System.out.println("Ընդհանուր կենդանու ձայն");
}
}
class Dog extends Animal {
@Override // @Override նշանավորումը հաստատում է, որ մեթոդը վերագրած է
public void makeSound() {
System.out.println("Հաու հաու");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Մյաո");
}
}