Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Soru : Interface mi, Abstract Class mı?
#1
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?
YouTube Delphi Tips
"Mantıklı adam kendini dünyaya uyarlar; mantıksız adam ise dünyayı kendine uydurmakta inat eder. Bu nedenle, tüm ilerleme o inatçı adama bağlıdır." - George Bernard Shaw
WWW
Cevapla
#2
Sanırım bu link sizin soruya fazlasıyla yeterli bir cevap olacaktır.
http://www.tugrulhelvaci.com/?p=582


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.
Cevapla
#3
(21-11-2018, Saat: 19:03)uparlayan Adlı Kullanıcıdan Alıntı: 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.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#4
Kıyaslamalı soru hatalı. Eğer sınıflarının işlevlerini genişletmek bunu da dilden bağımsız yapmak istersen interface gerekir.
.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Windows Mesajlaşma Sistemi Hk. Soru (+10 Puan) Tuğrul HELVACI 26 23.638 06-10-2022, Saat: 18:47
Son Yorum: Master_Crazy
  Dosya Bulma (Algoritmik Soru Serisi) yhackup 28 27.102 14-11-2018, Saat: 10:07
Son Yorum: engerex



Konuyu Okuyanlar: 1 Ziyaretçi