Junior — Middle
Պետք է տրամադրել ինտերֆեյսի մեթոդների իրականացմանը իր հիմնական դասում?
sobes.tech AI
Պատասխան AI-ից
Android-ում (և ընդհանուր առմամբ Java/Kotlin-ում) ինտերֆեյսը միայն պայմանագիր է սահմանում — մեթոդների հավաքածու, որոնք պետք է իրականացվեն դասով։ Ինտերֆեյսը իրականացնող դասերում, այդ մեթոդները պետք է իրականացվեն։
Այնուամենայնիվ, եթե لديك հիմնական դաս, որը իրականացնում է ինտերֆեյսը, դու կարող ես տրամադրել դրա մեջ ինտերֆեյսի մեթոդների հիմնական իրականացումը։ Սա օգտակար է, եթե մի քանի ենթակլասներ օգտագործում են նույն տրամաբանությունը, որպեսզի խուսափեն կոդի կրկնությունից։
Օրինակ, Java-ում կարող եք անել հետևյալը՝
public interface MyInterface {
void doSomething();
}
public abstract class BaseClass implements MyInterface {
@Override
public void doSomething() {
System.out.println("Հիմնական իրականացում");
}
}
public class ChildClass extends BaseClass {
// Կարող եք վերագրել doSomething կամ օգտագործել հիմնական իրականացումը
}
Այսպիսով, ինտերֆեյսի մեթոդների իրականացման տրամադրումը հիմնական դասում կարող է լինել օգտակար և տրամաբանական՝ ճարտարապետության և կոդի վերաօգտագործման տեսանկյունից։