Senior
Ներկայացրեք ճիշտ ժառանգության մոդել Button և Input դասերի համար ներկայիս փոխարեն, որտեղ Input-ը ընդլայնում է Button-ը։
sobes.tech AI
Պատասխան AI-ից
Button-դից Input ժառանգությունը տրամաբանական չէ, քանի որ Input և Button տարբեր տարրեր են՝ տարբեր սիմանթիկայով և վարքով:
Անհրաժեշտ է սահմանել ընդհանուր հիմնական դաս, օրինակ՝ UIControl կամ FormElement, որը պարունակում է բոլոր ձևանմուշի տարրերի ընդհանուր հատկություններն ու մեթոդները: Այնուհետև, Button և Input ժառանգում են այդ դասից որպես առանձին դասեր:
TypeScript օրինակ՝
class UIControl {
constructor(public id: string) {}
render() {
// ընդհանուր ռենդեր մեթոդ
}
}
class Button extends UIControl {
click() {
// սեղմման լոգիկա
}
}
class Input extends UIControl {
value: string = '';
setValue(val: string) {
this.value = val;
}
}
Այս մոտեցումը արտացոլում է իրական հիերարխիան և խուսափում է սխալ կապերից դասերի միջև։