Bu, gerçek dünyadaki bir örnek olarak, Geçersiz Kılma ve Üzerine Yazma farklılıklarının ne olduğunu anladım :
Bir otomobil üretim şirketiniz olduğunu varsayın. Her zaman size güvenip ürünlerinizi satın aldıkları için müşterilerinizle ünlü ve mutlusunuz.
İşinize devam etmek için temel olarak 2 seçeneğiniz vardır:
Her şey gelir ve doğru yola adım attığınızı bilirsiniz. Yani sadece önceki modelleri korumak değil, aynı zamanda onları geliştirmeye devam etmek istiyorsunuz. Yine de nasıl olur? Muhtemelen mevcut modellere yeni özellikler ekleyerek! Şimdi yeni modeller PLUS yeni geliştirilmiş tüm özelliklere sahiptir.
Geçtiğin yolun yanlış olduğunu biliyorsun! ne korkunç bir yaklaşım! Şirketin tüm teknolojiyi değiştirmesi gerektiğini hızlı bir şekilde fark edersiniz, aksi takdirde zorlu durumlardan (iflas gibi ...)
Sonuçta, programlama açısından, ilk yaklaşım , arabanın sahip olduğu önceki davranışları korurken bazı yeni DAVRANIŞLAR eklediğiniz için, geçersiz kılma anlamına gelirken, ikinci yaklaşım , davranışları değiştirmek istediğiniz için Üzerine Yazma anlamına gelir tamamen ve sıfırdan yeni özellikler geliştirin.
Umarım bu size yardımcı olur.