Delphi Can

Orjinalini görmek için tıklayınız: Soru : Interface mi, Abstract Class mı?
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Kısa cevaplarla geçiştirmemeniz dileğiyle;

OOP'nin dayanılmaz cazibesine kapılmış arkadaşlarımın bu iki yapıyı da bolca kullandığını tahmin ediyorum. Onlara sormak istediğim husus şu; hangisini hangi durumda neden kullanırız?
Sanırım bu link sizin soruya fazlasıyla yeterli bir cevap olacaktır.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.


Alıntı:Sanıyorum artık, abstract sınıflar ve interface’lerle ilgili az da olsa bir fikir sahibiyiz. Bu iki birbirine yakın kullanım temelde aynı amaca hizmet etmektedir. Ancak birbirinden farklı bir sözdizimine sahiptir. Peki, biz hangi durumlarda hangisini kullanacağız ?

Bu sorunun yanıtı abstract sınıf ve interface ayrımına gidilmesinin nedenlerini izah için yeterli olacaktır. Hepimizin bildiği gibi Delphi, C# gibi diller multiple inheritance adı verilen çoklu kalıtımı desteklemezler. Ancak C++ gibi diller çoklu kalıtıma imkan sağlarlar. Bir sınıfın birden fazla atasının olması gibi bir konseptin Delphi, C# gibi dillerde olmaması belki karmaşanın önüne geçmek içindir. Ancak çoklu kalıtıma ihtiyaç duyduğumuz yerlerde olabilir. Kısa bir örnek vererek daha da anlamlandırmaya çalışalım.
(21-11-2018, Saat: 19:03)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Kısa cevaplarla geçiştirmemeniz dileğiyle;

OOP'nin dayanılmaz cazibesine kapılmış arkadaşlarımın bu iki yapıyı da bolca kullandığını tahmin ediyorum. Onlara sormak istediğim husus şu; hangisini hangi durumda neden kullanırız?

uparlayan hocam konu dışında bir cevap fakat bu benim kişisel merakım. Kaç tane delphi ile yazılmış proje gördüysem kodların %60 ı yapısal gidiyor diyebilirim. Ağırklı olarak sürekli veritabanı üzerinde yapılan işlemler. Tabi kişi ile alakalı bir durum ama bu delphicilerin OOP ile sorunu nedir? OOP kullanılmış dediğimde inherited form ve fii tarihinden itibaren yazılmaya başlanmış Wincontrol componentler. Her halde kolay geliyor  form açıp 2 edit bir grid koyup birde TSQL procedure, view yaz olay bitti. Yapısal koda bayılıyoruz sonra arkadan gelen tırmalıyor duruyor.