80- C# Dersleri Static Yapıcı Metot Kullanımı ve Çalışma Mantığı | METHOD | OOP |

Поделиться
HTML-код
  • Опубликовано: 1 фев 2025

Комментарии • 49

  • @EnesBayramm
    @EnesBayramm  3 месяца назад +1

    Kahve ısmarlayarak destek olmak için : buymeacoffee.com/enesbayram

  • @--Emirhan--
    @--Emirhan-- 3 года назад +7

    11:40 ah be hocam kulaklıkla izliyordum :/

  • @varansk6142
    @varansk6142 Год назад +12

    Aslında Static şu anlama geliyor. Eğer static kullanmazsak bir class içerisinde bir nesne oluşturduğumuzda class içindeki değişkenin her nesne için farklı bir değeri olabilir. Yani a değişkeni , b nesnesinde 7, c nesnesinde 8 atanabilir. Ama static yazarsak her nesnede farklı değere sahip olmaz. tek bir değere sahip olur.
    yani biz c nesnesinde, static i değişkenine 8 , d nesnesinde static i değişkenine 4 atayamayız. sadece ya 8 olur ya da 4. Static yapıcı metotda zaten static şeylerin tek bir değeri olduğu ve her nesneye göre yeni bir şeye atanamayacağı için tek bir kere çalışıyor. İnşallah anlatabilmişimdir çok karışık oldu kusura bakmayın.

    • @EnesBayramm
      @EnesBayramm  Год назад +3

      Aslında static değilse nesneye özgü , static ise classa özgüdür diyebiliriz. Dediğin gibi

    • @feyzullacavid
      @feyzullacavid Год назад +1

      Your explanation is very helpful and instructive as much as Enes Teacher. Thank you brother and I appreciate for this video to Enes Bayram.

    • @medeniz9726
      @medeniz9726 Год назад

      @@EnesBayramm abi o zaman unity de oyun yaparken cok kullanılmaz bu dimi genel olarak clas oluşturdukmu meselea düşman clası 1 taneyle sınırlı kalmaz bu bide diyelim boss var onda static kullanmadan da yapılmazmı mantıken değişkene 1 kere tek atarım bidahada kullanmam

    • @senatasc146
      @senatasc146 5 месяцев назад

      gayet güzel anlattın. Sağol

  • @selcukyigit281
    @selcukyigit281 5 месяцев назад +1

    2024'ün 3. çeyreğin sonlarından yazıyorum. Seninle çalışmayı çok istemiş olanlar var ama 2.500 TL maaş almaktan korktukları için seninle bu konuyu hiç konuşmadılar.

  • @onderselte74
    @onderselte74 Год назад +4

    Anlatım gerçekten çok iyi teşekkürler. Ama genel olarak izlenimim yazılım anlatıcıların anlatımına eklemesi gereken bir durum var. Static class yada static yapıcı... farketmiyor. Bir durum başka bir şeye alternatif olarak gösteriliyor. Sonuçlarında ne olduğu anlatılıyor. Buraya kadar bence herşey çok anlaşılır. Tek sorun hangi durumlarda bu yöntemin kullanılma ihtiyacı hissedilir bunu tam olarak anlamıyorum. Yani yapıcı metotla da devam edebilirim ama static diye birşey tasarlandığına göre, illaki bunun tam olarak bir ihtiyaca hizmet ediyor olması gerekiyor diye düşünüyorum. Aynı şeyi encapsulation ve abstract konularında da yaşıyorum. Gerçek dünyada yani gerçek bir projede bunlar tam olarak nerede kullanılmak zorundadır ? Niye objeyi standart üretip yolumuza devam etmek varken static diye birşey oluşturuyoruz ? Yada niye kapsüllüyoruz ve hangi durumlarda "kapsüllemezsem şöyle sorunlar olur" dediğimiz yer neresi olur?

    • @GiraboluSatinAlcom
      @GiraboluSatinAlcom Год назад +3

      tam olarak cevabı bilmemekle birlikte şöyle oldugunu düşünüyorum boştan yere veritabında yer kaplıyor programı yavaşlatıyor.Şöyle örnek vereyim bir fabrikada 200 kişi aynı maaşı alıyor diyelim 200 kişi için ayrı ayrı nesnelerde alanlar oluşturulacak ve bunların hepsine aynı deger yazılacak bunlar veri tabanına kaydedilecek onlar yer kaplayacak buna gerek yok sadece 1 kere tanımlıyorsun ve istedigin zaman bunu kullanıyorsun.Benimki sadece bir düşünce yada fikir dogru mudur bilmiyorum

  • @yunusx3183
    @yunusx3183 2 года назад

    o kadar iyi anlatıyorsun ki baştan 80 küsür videonu izlemek farz oldu. arada verdiğin visual studio kullanım tüyoları da ayrıyeten güzel.
    vs tüm toollarını anlattığın birkaç video anlatırsan faydalı olur bu arada. iyi çalışmalar hocam

  • @ahmetnsahi
    @ahmetnsahi 2 года назад

    güzel anlatımınız için teşekürler.

  • @johntitor7966
    @johntitor7966 3 года назад

    çok iyidi hocam sağ olun.

  • @floshy9736
    @floshy9736 2 года назад +4

    abi neden video uzun diye özür diliyorsunki ztn vakti olmayanlar bıraksın yazılımı

  • @metronom_81
    @metronom_81 3 года назад +1

    teşekkür

  • @yavuzselimhan5236
    @yavuzselimhan5236 11 месяцев назад

    Property tanımlamak optimizasyon açısından daha zararlı değilmi?

  • @musfiqhazili4946
    @musfiqhazili4946 3 года назад

    Hocam ellerinize sağlik. Çox gözəl izah edirsiniz! 🙏

  • @ColoKowalski
    @ColoKowalski 2 года назад +1

    Elinize sağlık çok güzel anlatmışsınız. Yalnız maaş biraz düşük değil mi?

    • @ceriyorsince6217
      @ceriyorsince6217 Год назад

      3 yıl önce için baya güzel şimdi enflasyona yenik düştü canım video.

  • @selcuktopal-cs6qj
    @selcuktopal-cs6qj Год назад

    ChatGpt'de başka cevaplar veriyor;
    ----Statik belirleyici metod erişim belirleyici kullanabilir mi?
    Evet, statik belirleyici metodlar erişim belirleyicileri kullanabilirler. Erişim belirleyicileri, bir sınıf içindeki üyelerin erişim düzeylerini kontrol etmek için kullanılırken, statik belirleyici metodlar sınıf düzeyinde tanımlanmış ve tüm sınıf örnekleri tarafından paylaşılan yöntemlerdir.
    Statik belirleyici metodlar da diğer sınıf üyeleri gibi erişim belirleyicileri kullanabilirler. Örneğin, bir statik belirleyici metodun erişim belirleyicisi private olarak ayarlanırsa, o metod sadece aynı sınıfın içinde kullanılabilir ve diğer sınıflar tarafından erişilemez. Ancak, public olarak ayarlanırsa, herhangi bir yerden çağrılabilir.
    Erişim belirleyicileri, statik belirleyici metodların erişimini kontrol etmek için kullanılabilir ve bu şekilde, sınıf içindeki tüm örnekler tarafından paylaşılan bir metodun hangi düzeyde erişilebilir olacağı belirlenebilir.
    -----Statik yapıcı metod parametre alabilir mi?
    Statik yapıcı metodlar, sınıf düzeyinde tanımlanmış ve sınıfın tüm örnekleri tarafından paylaşılan metodlardır. Bu nedenle, statik yapıcı metodlar parametre alabilirler.
    Ancak, statik yapıcı metodlar nesne oluşturmak için kullanılmazlar, sadece sınıf düzeyindeki değişkenleri ve yapılandırıcıları (constructor) başlatmak için kullanılırlar. Bu nedenle, statik yapıcı metodların aldığı parametreler de sınıf düzeyindeki değişkenleri veya yapılandırıcıları başlatmak için kullanılır.
    Özetle, statik yapıcı metodlar parametre alabilirler ancak nesne oluşturmak için değil, sınıf düzeyindeki değişkenleri veya yapılandırıcıları başlatmak için kullanılırlar.

  • @non2616
    @non2616 2 года назад +1

    e hocam hani public yazip static yaziyorduk

  • @emirdinler6261
    @emirdinler6261 2 года назад +1

    hocam merhaba yapıcı metotlar da bi nevi kapsülleme işlevi görmüyor mu çünkü private değişkene değer atayabildik bu şekilde teşekkür ederim şimdiden

    • @EnesBayramm
      @EnesBayramm  2 года назад +2

      Evet kapsüllenmiş olan alanlara değer atamak içinde kullanırız haklısın.
      Farklı amaçlara da hizmet ediyor zamanla tecrübe edineceksin

  • @sovereign6669
    @sovereign6669 3 года назад

    static muhabbetini nerede ne zaman kullanmamiz gerekiyor ? anlayamadim bir turlu kafam cok karisti.

    • @EnesBayramm
      @EnesBayramm  3 года назад +2

      static leri genel olarak class ismi üzerinden metotlara ve değişkenlere erişmek için kullanırız fakat farklı kullanım amaçlarıda var kafanızı karıstırmak istemiyorum.

  • @ahmetkoc5912
    @ahmetkoc5912 Год назад

    static yapıcı metotta olusturdugumuz 1500 degerını dondurup 1500 u degıstırp tekrar dondurursek statıc yapıcı metot calısır mı acaba

  • @ademekmen5673
    @ademekmen5673 2 года назад

    teşekkürler

  • @mehmetaliakay26
    @mehmetaliakay26 3 года назад +1

    isim ve soyisim bilgilerini neden göremedik? yapıcı method'da değişkenlerin isimlerini aynı verdiğiniz için mi?

    • @EnesBayramm
      @EnesBayramm  3 года назад +2

      this anahtar kelimesini unutmuşum ;
      this: Classın içinde ki property olarak tanımladığım isim ve soyismi temsil etmek için kullanılması gerekiyor.
      Doğrusu
      public Kullanici(int kullaniciid , string isim, string soyisim)
      {
      this.kullaniciID = kullaniciid;
      this.isim = isim;
      this.soyisim = soyisim;
      }

    • @mehmetaliakay26
      @mehmetaliakay26 3 года назад

      @@EnesBayramm this kullanmadan örneğin _isim _soyisim şeklinde yazsak olmaz mıydı? kullaniciid görünüyor çünkü.

    • @EnesBayramm
      @EnesBayramm  3 года назад +1

      @@mehmetaliakay26 olurdu, çünkü class içinde tanımlanan ile parametre olarak gelen isimler farklı olduğu için.
      ama genelde class içindeki değişken ismi ile parametre ismi aynı verilir.(zorunlu değil ama standarlık kazanmış ve herkes o şekilde kullanmaya alışmış)

  • @selmanfidan2953
    @selmanfidan2953 3 года назад

    Hocam çok fazla benzer isimli değişken oldu kafa karıştı, biraz daha değişkenlere isim verirken belirgin ayrımlar yaparsanız sevinirim :)

  • @cekconi1773
    @cekconi1773 3 года назад

    👍👍👍

  • @eminakova6702
    @eminakova6702 7 месяцев назад

    2:34

  • @euphratesq
    @euphratesq Год назад

    abi neden arka plan fotografin bu

  • @serdarturkay9328
    @serdarturkay9328 2 года назад

    Hocam değiskenleri kapsulleşme yapmadan private erisim belirleyicisinde girdiniz.Nasıl program.cs de tanımladınız kapsulleşme kullanmadan?Birazcık kafam karıştıda.

  • @loksiyon6038
    @loksiyon6038 Год назад

    static kullanıcı() ile
    public static voşd kullanıcı()
    bu ikisinin arasındaki fark nedi
    r

    • @erenozdemir3336
      @erenozdemir3336 Год назад

      üstteki yapıcı method oluyor alttaki çalışmıyor hocanın da anlattığı gibi static methodlar önüne erişim belirleyicisi almıyor

  • @nihatbeyi
    @nihatbeyi 3 года назад

    bence superdi

  • @mustafatek844
    @mustafatek844 Год назад

    Hocam isim ve soyisim değerlerini almadı

  • @batuhanarslan5304
    @batuhanarslan5304 3 года назад

    Hocam birden fazla static yapıcı method tanımlamak mümkün mü ?

    • @EnesBayramm
      @EnesBayramm  3 года назад +1

      Hiç denemedim , siz deneyerek bizleri bilgilendirebilirsiniz. Ama şunu söyleyebilirim birden static olmayan yapıcı metot tanımlanabilir
      constructor overloading diye geçiyor araştırabilirsiniz.

    • @--Emirhan--
      @--Emirhan-- 3 года назад +2

      Gösterdiği makalede yazıyor. Bir sınıfta sadece bir tane static yapıcı metot tanımlanabilir

  • @maksatbekzhakyp8666
    @maksatbekzhakyp8666 3 года назад

    Hocam merhabalar benim console ekranimda turkce karakterler cikmiyor yardimci olabilir misiniz?

    • @maksatbekzhakyp8666
      @maksatbekzhakyp8666 3 года назад

      internetten arastirdim fakat o her projenin basina o kodu yazman germis bu da sıkıcı olur yardımcı olursanız sevinirim teşekkürler

  • @codiore
    @codiore 2 года назад

    Bu örnekte ilk oluşturulan nesne 2500 tl maaşla başlayacak. Diğer sonraki üreteceğimiz nesneler ise 0 tl ile başlayacak. Hiç adil değil :) Teşekkürler

  • @muhammetatesh
    @muhammetatesh Год назад

    Ya bu videoyu silseniz daha faydalı olur, herkes anlattığınızı anlamış ama konu anlaşılmamış. Hele 1 kere kullanılmasına karşın maaaş örneği vererek anlatmanız çok yanlış. 1 method neden 1 kere çalışıtılmak istenebilir bunun cevabını verebilmeliydi ama yok.

  • @sametylmaz1928
    @sametylmaz1928 2 года назад

    İşin içine biraz hayallerimizi kattık ve oluşan sonuç;
    public class bmw
    {
    private string marka;
    private string model;
    private int modelyılı;
    private static int güç;
    private static int motorhacmi;
    static bmw()
    {
    güç = 510;
    motorhacmi = 3000;
    }
    public void aracbilgi(string _marka,string _model , int _modelyılı, int _güç)
    {
    marka = _marka;
    model = _model;
    modelyılı = _modelyılı;
    }
    public void aracbilgigoster()
    {
    Console.WriteLine("ARAÇ MARKASI: "+ marka);
    Console.WriteLine("ARAÇ MODELİ: "+model);
    Console.WriteLine("MODEL YILI: " + modelyılı);
    Console.WriteLine("MOTORUN GÜCÜ: " + güç + "HP");
    Console.WriteLine("MOTOR HACMİ: " + motorhacmi + "CC");
    Console.WriteLine("********************************************");
    Console.WriteLine("ARACA YAZILIM ATMAK İÇİN 'ENTER' TUŞUNA BASINIZ...");
    Console.ReadLine();
    }
    public void yazılım(int yazılım)
    {

    Console.WriteLine("ARACIN MOTORUNA YAZILIM ATILIYOR...");
    Console.WriteLine("ARACIN ŞU ANKİ MOTOR GÜCÜ: " + (güç + yazılım));
    Console.ReadLine() ;
    }

    • @emirdinler6261
      @emirdinler6261 2 года назад +1

      marka,model ve model yılına atama yaparken yapıcı metot kullanmamışın yapıcı metotun ismi class ismiyle aynı olmalıdır sen aracbilgi yapmışın nasıl oldu bu