C# Abstract vs Interface | Abstract ve Interface Farkı Nedir?

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 พ.ย. 2024

ความคิดเห็น • 94

  • @buraksvs
    @buraksvs 2 ปีที่แล้ว +8

    anlatımlarınız çok değerli . özellikle junior arkadaşların kendini daha ileri seviyeye taşıyabilmesi için ve sürekli duyduğu kavramların kafalarına rahat oturması açısından çok faydalı içerikler. emeğine sağlık.

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      Çok teşekkür ederim. Umarım faydalı oluyordur her seviye için.

  • @tunaroll3957
    @tunaroll3957 2 ปีที่แล้ว +9

    Mukemmel bir tutorial olmus, elinize saglik! Gercek zamanli kod yazmaniz cok faydali olmus anlatirken; insan beyni aynalama sayesinde cok daha iyi kavriyor konuyu :)

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +3

      Çok teşekkür ederimm. Umarım faydalı olmuştur.

  • @melihdincer5069
    @melihdincer5069 10 หลายเดือนก่อน +1

    Videodan istifade ettim teşekkür ederim, güzel anlatım.

  • @ahmedhakanokumus
    @ahmedhakanokumus 3 หลายเดือนก่อน +1

    Hocam çok değerli bilgilerinizi bizlerle paylaşarak bizleri ezbere iş yapmaktan çıkarıp işin mantığını anlattığınız için teşekkürler.

    • @TechBuddyTR
      @TechBuddyTR  3 หลายเดือนก่อน

      Çok teşekkür ederim :)

  • @mrpolimat
    @mrpolimat หลายเดือนก่อน +1

    Hocam cok acik ve net soyleyecegim. Ben turkce en iyi c# dersini engin hocanin verdigini zannederek onun tutoriali ile basladim ogrenmeye, fakat bu videonuza rastladiktan sonra cok pisman oldum. Anlatim acisindan arada buyuk fark var. Engin hoca da cok degerli bilgili hocamiz saygimiz sonsuz fakat hocam anlatimi yeterli degil. Bir konuya sizin gibi iyi kafada oturtamiyor. En azindan bendeki etkisi boyle oldu yalan soylemeyecegim. Simdi bu ogrenme seruvenine sizin videolarinizla devam etmeyi dusunuyorum.

    • @TechBuddyTR
      @TechBuddyTR  หลายเดือนก่อน

      Başka eğitmenler hakkında yorum yapamam ancak kanalımıza hoşgeldiniz :-)

  • @GiraboluSatinAlcom
    @GiraboluSatinAlcom ปีที่แล้ว +1

    İnanılmaz bir anlatım çok sade ve çok anlaşılır...
    emeginize saglık...

    • @TechBuddyTR
      @TechBuddyTR  ปีที่แล้ว

      Çok teşekkür ederim 👍

  • @Berat-Ozmen
    @Berat-Ozmen 2 ปีที่แล้ว +3

    İçerikleriniz çok kaliteli, emekleriniz için teşekkürler.

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +2

      Çok teşekkür ederim. Umarım faydalı oluyordur.

  • @semihcelikol47
    @semihcelikol47 2 ปีที่แล้ว +2

    Salih abi ağzına, ellerine sağlık çok temiz anlatıyorsun. Teşekkür ederim

  • @faruksirkinti6168
    @faruksirkinti6168 10 หลายเดือนก่อน +1

    teşekkürler hocam severek izliyoruz

  • @AA-ed7hd
    @AA-ed7hd 6 หลายเดือนก่อน +1

    çok faydalı bir anlatım hocam

  • @AtesHuseyin
    @AtesHuseyin 4 หลายเดือนก่อน +1

    Çok sağlam anlatım olmuş. Özellikle interface'i abstracc classa bağlamak müthişti. Kesinlikle kullanırım bu yöntemi

    • @TechBuddyTR
      @TechBuddyTR  4 หลายเดือนก่อน

      Teşekkürler 😊

  • @EmreQQ
    @EmreQQ ปีที่แล้ว +1

    Abstractlar anladığım kadarıyla ortaklık için kullanıyor ve yardımcı metot gibi çalışması amaçlanıyor. Mesela bir array oluşturup, arrayName.length metodu çağırmak gibi.. Bu işlemin, array oluşturulmadan yapılmaması içinse soyutluyoruz yani abstract ediyoruz. Haliyle new instance üretilmiyor çünkü en baştaki tasarlanış amacı yardımcı metot olmaktı yeni bir nesne olmak değil.

  • @muratdrg5021
    @muratdrg5021 2 ปีที่แล้ว +2

    Güzel anlatımınız ve emeğiniz için teşekürler

  • @orxanmemmedli7126
    @orxanmemmedli7126 ปีที่แล้ว +1

    Mükemmel anlatım, hocam. Var olun.

  • @atakankuloglu4877
    @atakankuloglu4877 ปีที่แล้ว +1

    Çok temiz anlatmışsınız. Teşekkürler.

  • @enesemreislek4264
    @enesemreislek4264 ปีที่แล้ว +1

    dügün ve güzel anlatım için teşekkürler başarılar dilerim

  • @elifsu7033
    @elifsu7033 10 หลายเดือนก่อน

    Teşekkür ederim hocam. Gerçekten çok güzel anlatıyorsunuz.

  • @potisseslikitap7605
    @potisseslikitap7605 2 ปีที่แล้ว +2

    Çok açıklayıcı olmuş elinize sağlık.

  • @ufukdemir2804
    @ufukdemir2804 2 ปีที่แล้ว +2

    Teşekkürler güzel bir video olmuş.

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      Teşekkür ederim. İyi Seyirler :)

  • @rothbrook
    @rothbrook ปีที่แล้ว +1

    Eline ağzına sağlık hocam harika anlatıyorsun..

  • @CemilArancak
    @CemilArancak 2 ปีที่แล้ว +1

    Detaylı bir anlatım olmuş teşekkürler.

  • @a.t10
    @a.t10 ปีที่แล้ว +1

    harika bir anlatım. 10/10

  • @ysrtpk
    @ysrtpk 2 ปีที่แล้ว +2

    Teşekkürler başkan

  • @yusufkaraaslan2888
    @yusufkaraaslan2888 ปีที่แล้ว +1

    Çok teşekkürler açık ve net bir video olmuş hocam 🌹

  • @mehmettahiryldrm4433
    @mehmettahiryldrm4433 2 ปีที่แล้ว +7

    SOLID prensipleri hakkında uygulamalı bir anlatım video'su güzel olabilir. Bilmeyen veya daha önce kullanmamış kişilerin teorik bilgiden okuyup nerelerde kullanılacağını tam anlaması ve içselleştirmesi kolay olmuyor.

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +3

      SOLID gerçekten de okunarak özümsenmeyecek konuların başında geliyor olabilir. Anlatması da hayli zor olacaktır ama listeye ekleyeyim bunu da.

    • @mehmettahiryldrm4433
      @mehmettahiryldrm4433 2 ปีที่แล้ว +2

      @@TechBuddyTR Teşekkür ederim

  • @mehmetfatihgok6665
    @mehmetfatihgok6665 ปีที่แล้ว +1

    Teşekkürler.

  • @oktay_yoruk
    @oktay_yoruk ปีที่แล้ว +1

    Mükemmel anlatım, ağzına sağlık

  • @alperaslan.
    @alperaslan. ปีที่แล้ว

    Tertemiz bir anlatım teşekkürler :)

  • @motogezgin2085
    @motogezgin2085 2 ปีที่แล้ว +1

    çok temiz anlatım.

  • @AhmedHalil1905
    @AhmedHalil1905 ปีที่แล้ว +1

    Emeğine sağlık abi 😊

  • @justetk
    @justetk ปีที่แล้ว +1

    Çok faydalı video. Azerbeycandan Selamlar!

  • @nickname-s6z
    @nickname-s6z ปีที่แล้ว +1

    Harika bir anlatım, ayakta alkışlıyorum hocam :)
    Hocam bir de c++ ile ilgili bu tarz videolar yapmanız mümkün mü?

    • @TechBuddyTR
      @TechBuddyTR  ปีที่แล้ว +1

      C++ bilsem dükkan senin :)

    • @nickname-s6z
      @nickname-s6z ปีที่แล้ว

      @@TechBuddyTR Canınız sağolsun hocam ne diyelim :)

  •  2 ปีที่แล้ว +7

    Udemy'de en "benim" diyen hoca böyle sadelikte anlatamamıştır. Biliyor olsanız bile izlemenizi tavsiye ederim

  • @Alpharabius99
    @Alpharabius99 ปีที่แล้ว

    Videoda gayet güzel açıklanmış, hala aklında soru işareti olan arkadaşlara cheezy code adlı kanalın aynı isimli videosuna bakmalarını öneririm.

  • @suleyman8843
    @suleyman8843 2 ปีที่แล้ว

    Hocam videolarınız için çok teşekkür ederiz. İlerleyen zamanlarda Rabbit MQ, Apache kafka, Redis vs vs gibi teknolojilere değinebileceğiniz örnekler yapabileceğiniz video gelirse çok seviniriz. İzlerken hem eğlendiğim hem de öğrendiğim nadir kanallardan birisiniz çok selamlar

  • @kilicarslan5976
    @kilicarslan5976 2 ปีที่แล้ว +1

    çok açıklayıcı anlatım teşekkürler. yalnız şu konunun ortasında gelen abone ol yazısı dikkat dağıtıcı oluyor çünkü pür dikkat istiyor konular

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      :) Videoyu bir daha izlemek için bir bahane olur belki

    • @kilicarslan5976
      @kilicarslan5976 2 ปีที่แล้ว

      @@TechBuddyTR aynen izlicem şimdi 🙂

  • @BarbarosYurttagul
    @BarbarosYurttagul 2 ปีที่แล้ว +3

    Thread vs Process soruyorlar. Devamında Multithreading..

  • @teknolojiuzmaniburada
    @teknolojiuzmaniburada 2 ปีที่แล้ว +1

    Yine muhteşem olmuş. Ellerinize emeğinize sağlık. Mülakatlarda ACID terimlerini de soruyorlar. ACID elemanlarını da pratik yaparak uygulamalı anlatabilir misiniz? Transaction ile bazen başım belada oluyor da :)

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +2

      Teşekkür ederim. Kanalı takip edenlerin seviyelerinin çeşitliliği sevindiriyor beni. Hem advance konularda talep oluyor hem de intermediate konularında.
      ACID konusu biraz teorik bir konu ama bunu da listeye ekleyip uygulamalı olarak anlatmaya çalışayım.

    • @teknolojiuzmaniburada
      @teknolojiuzmaniburada 2 ปีที่แล้ว +1

      @@TechBuddyTR çok teşekkür ederimm 😊🙏 ACID kavramlarını ne şekilde uygulayabileceğim konusunda muallakta kaldığım oluyor bir çok kez. O nedenle sabırsızlıkla bekliyor olacağım videoyu 😊

  •  3 หลายเดือนก่อน +1

    Güzel anlatım vesselam

    • @TechBuddyTR
      @TechBuddyTR  3 หลายเดือนก่อน

      Teşekkürler

  • @necmettinayvaz
    @necmettinayvaz ปีที่แล้ว +1

    Merhabalar hocam. Emeklerinize sağlık. Redis konusunda ve .net core da kullanımı hakkında da detaylı bir video gelebilir mi?

    • @TechBuddyTR
      @TechBuddyTR  ปีที่แล้ว

      Redis ile ilgili detaylı bir videomuz yok ancak MicroService serisinde BasketService için kullanmıştık .Net Core ile birlikte. O video belki yardımcı olabilir.

  • @emreylmaz2806
    @emreylmaz2806 ปีที่แล้ว +1

    Çok acıklayıcı olmus hocam

  • @murad-dov
    @murad-dov 2 ปีที่แล้ว

    Ellerinize sağlık

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว

      Çok teşekkür ederim :)

  • @qokhan3463
    @qokhan3463 2 ปีที่แล้ว +1

    Salih bey, bu güzel video için çok teşekkürler. Bu arada , GenerateSql methodunu abstract class içerisinde virtual tanımlayıp diğer classlarda override etseydik saçma mı olurdu ?

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      Hayır saçma olmazdı. Eğer bir metodun, o class ı inherit eden tüm class'larda kullanılacağından eminsek virtual ekliyoruz. Eğer zorunlu olarak kullanılacaksa abstract ekliyoruz ama eğer bir zorunluluk yoksa eklemiyoruz :)

  • @apoleyta9760
    @apoleyta9760 2 ปีที่แล้ว +2

    Benim anlamadığım kısım şu ; Abstract classlar interfacelerin gelişmiş halleri gibi. Yani ikisinde de imza fieldlar ve metotlar oluşturabiliyoruz. Ama ek olarak abstract classlarda ek olarak fazladan işlemler daha yapabiliyoruz. Ben neden interfacelere ihtiyaç duyayım ? Daha gelişmiş hali olan abstract classlar varken neden daha az özelleşmiş olan interfaceleri kullanayım ?

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +2

      Bir kere her şeyden önce C# da multiple inheritence yok. Yani bir class en fazla 1 tane class'tan türeyebilir. Ama bunun yanında istediğimiz kadar interface kulanabiliriz o class'ı inherit etmek için. Bunun dışında Abstract class bile olsa ana class'taki constructor ları etkileyebilir, eğer abstract class kendi içinde constructor varsa. Ancak Interface ler sadece imzalar olduğu için herhangi bir instance oluşturma olayı olmuyor. Yani class'lar create edilmek zorunda ve create edilirken constructor lar etkili oluyor, interface lerin ise böyle bir durumu yok. Kullanılan yapıya göre örnekler çeşitlendirilebilir.

    • @apoleyta9760
      @apoleyta9760 2 ปีที่แล้ว +1

      @@TechBuddyTR Anladım. Teşekkür ederim

  • @ahmet9424
    @ahmet9424 2 ปีที่แล้ว +1

    Hocam emeğiniz için teşekkürler. Faydalı bir içerik olmuş. Go ve stop metotlarını abstract class(BaseVehicle) içine taşıdıktan sonra IVehicle classı ile mantıken pek bir işimiz kalmıyor gibi geliyor. Yani IVehicle aslında, absctract class üzerinden de kaldırsak, yine alt sınıflar bu go ve stop metotlarını kullanabiliyorlar. Interface'i o abstract classa implement vermemizin başka özel bir sebebi var mı ?

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      Dediğiniz gibi baseclass ı kullanınca Ivehicle a olan bağımlılık ortadan kalkıyor ama IVecihle interface inin olayı, sahip olduğumuz metodları bildirmek ya, bunu illa ki kullanacağımız class lara bildirmek zorunda değil. Baseclass larda da kullanabiliriz o yüzden kaldırmadım.

    • @ahmet9424
      @ahmet9424 2 ปีที่แล้ว +1

      Cevap için teşekkürler. Uygulamalarda hep bu şekilde görüyordum. Abstract classa neden interface implementasyonu yapılıyor diye. Buna best practice gözü ile bakabilirmiyiz?

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว

      Bakabiliriz. Dependency Injection ile birlikte Interface'lerin kullanımları da günden güne artmaya başlıyor ve önemi daha net anlaşılıyor :-)

  • @atamankurutmaz5458
    @atamankurutmaz5458 2 ปีที่แล้ว

    IRideable ve IFlyable interfaceleri IVehicle interface'inden kalıtım alması gerekmiyor mu? Sonuç olarak binilebilen bir şeyde araçtır uçabilen bir şeyde. Car sınıfı içinde sürülebilen bir interface yaratıp onu da IVehicle interface'inden kalıtım aldırsak olmaz mı?

  • @ismailayyildizz
    @ismailayyildizz 2 ปีที่แล้ว +2

    Hocam merhaba network programlama socket kullanimi iasyncresult ile ilgili bir video gelebilir mi?

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      Network programlama her ne kadar benzer teknikler olsa da farklı bir konu. Network hakkında video çekmeyi henüz planlamadım ama talep sayısına göre düşünebilirim

  • @ucamayanejderya
    @ucamayanejderya 2 ปีที่แล้ว +1

    Salih hocam dependency injection yaparken interface'lerle yapiyorum ama düşününce abstractlarla da yapılabilir arasindaki fark nedir ne zaman hangisini tercih etmeliyim

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว

      teknik olarak bunun önünde bir engel yok. BaseClass da kullanılabilir elbette ama interface'lerin olayı şöyle; bir class birden fazla interface'den türetilebiliyorken sadece bir tane baseClass tan türetilebilir. Biz de bir class'ımızı birden fazla interface'den türetip, bunlardan birini inject etmek isteyebiliriz. Bu durumda interface'leri kullanmak zorunda kalıyoruz mesela.

    • @ucamayanejderya
      @ucamayanejderya 2 ปีที่แล้ว +1

      Teşekkürler hocam

  • @erkanyaprak2390
    @erkanyaprak2390 ปีที่แล้ว

    26:50 BaseVehicle sınıfını IVehicle' dan türetip diğer tüm araçlardan IVehicle interface' ini kaldırmak doğru yöntem değil mi?

    • @erkanyaprak2390
      @erkanyaprak2390 ปีที่แล้ว

      Hocam öyle yapmış zaten, teşekkürler :)

  • @tarkbugra9435
    @tarkbugra9435 2 ปีที่แล้ว +1

    Hocam BaseVehicle sınıfında abstract yazmayıncada main de car ı çağırdığım yada plane yi çağırdığım zaman gene de içindeki metodlara erişebiliriyorum bu nasıl oluyor ? normal classtan farkı ne oluyor

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      Abstract yazmayınca da dışarıdan ulaşabiliriz. Abstract ifadesini class'a ekleyince o class'ın kendisinden yeni bir instance yaratamıyoruz sadece.

    • @tarkbugra9435
      @tarkbugra9435 2 ปีที่แล้ว +1

      @@TechBuddyTR abstract classları newleyemiyoruz o zaman anladım hocam teşekkürler

  • @atillaalagoz4100
    @atillaalagoz4100 2 ปีที่แล้ว

    🍀🍀🍀🍀

  • @tavhaneful
    @tavhaneful 6 หลายเดือนก่อน

    Interface ile abstract class farkını anlatırken, interface'de arabayı, abstract da postgresql'i anlatmak mantıksız olmuş. İkisinde de net bir şekilde araba üzerinden örnek vermeniz gerekirdi. Kafa karıştırmış.

  • @MostaphaQamar
    @MostaphaQamar 10 หลายเดือนก่อน

    ekran siyah ve küçük ekran gözlere zarar

  • @mesutdemirci7933
    @mesutdemirci7933 ปีที่แล้ว +1

    İçerikleriniz çok kaliteli, emekleriniz için teşekkürler.

  • @elyys5854
    @elyys5854 ปีที่แล้ว +3

    Harika bir anlatım, emeğinize sağlık.