Senior
Button ve Input sınıfları için mevcut durumda Input'un Button'ı genişlettiği yer yerine doğru bir kalıtım modeli önerin.
sobes.tech yapay zeka
AI'dan gelen yanıt
Button’dan Input kalıtımı mantıklı değildir, çünkü Input ve Button farklı elementlerdir ve farklı semantiklere ve davranışlara sahiptirler.
Tüm form öğeleri için ortak özellikler ve metodlar içeren UIControl veya FormElement gibi ortak bir temel sınıf tanımlamak daha doğrudur. Daha sonra, Button ve Input bu sınıflardan türetilir ve ayrı sınıflar olarak kullanılır.
TypeScript örneği:
class UIControl {
constructor(public id: string) {}
render() {
// ortak render metodu
}
}
class Button extends UIControl {
click() {
// tıklama mantığı
}
}
class Input extends UIControl {
value: string = '';
setValue(val: string) {
this.value = val;
}
}
Bu yaklaşım, gerçek hiyerarşiyi yansıtır ve sınıflar arasındaki yanlış bağlantıları önler.