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 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
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.
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?
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
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
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.
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.
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 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ış)
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.
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.
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
Kahve ısmarlayarak destek olmak için : buymeacoffee.com/enesbayram
11:40 ah be hocam kulaklıkla izliyordum :/
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.
Aslında static değilse nesneye özgü , static ise classa özgüdür diyebiliriz. Dediğin gibi
Your explanation is very helpful and instructive as much as Enes Teacher. Thank you brother and I appreciate for this video to Enes Bayram.
@@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
gayet güzel anlattın. Sağol
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.
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?
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
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
güzel anlatımınız için teşekürler.
çok iyidi hocam sağ olun.
abi neden video uzun diye özür diliyorsunki ztn vakti olmayanlar bıraksın yazılımı
teşekkür
Property tanımlamak optimizasyon açısından daha zararlı değilmi?
Hocam ellerinize sağlik. Çox gözəl izah edirsiniz! 🙏
Elinize sağlık çok güzel anlatmışsınız. Yalnız maaş biraz düşük değil mi?
3 yıl önce için baya güzel şimdi enflasyona yenik düştü canım video.
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.
e hocam hani public yazip static yaziyorduk
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
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
static muhabbetini nerede ne zaman kullanmamiz gerekiyor ? anlayamadim bir turlu kafam cok karisti.
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.
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
teşekkürler
isim ve soyisim bilgilerini neden göremedik? yapıcı method'da değişkenlerin isimlerini aynı verdiğiniz için mi?
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;
}
@@EnesBayramm this kullanmadan örneğin _isim _soyisim şeklinde yazsak olmaz mıydı? kullaniciid görünüyor çünkü.
@@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ış)
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 :)
👍👍👍
2:34
abi neden arka plan fotografin bu
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.
static kullanıcı() ile
public static voşd kullanıcı()
bu ikisinin arasındaki fark nedi
r
üstteki yapıcı method oluyor alttaki çalışmıyor hocanın da anlattığı gibi static methodlar önüne erişim belirleyicisi almıyor
bence superdi
Hocam isim ve soyisim değerlerini almadı
Hocam birden fazla static yapıcı method tanımlamak mümkün mü ?
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.
Gösterdiği makalede yazıyor. Bir sınıfta sadece bir tane static yapıcı metot tanımlanabilir
Hocam merhabalar benim console ekranimda turkce karakterler cikmiyor yardimci olabilir misiniz?
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
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
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.
İş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() ;
}
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