‫Bu videoda, belki daha önce karşılaşmış olabileceğiniz belki de karşılaşmadığınız, ancak programlama
‫yaparken kesinlikle çok yararlı olan ve C-sharp geliştirmede kontrol edebileceğiniz özellikler cephaneliğiniz
‫için çok önemli olacak ebeveyn anahtar kelimesine bakacağız.
‫Bir bakalım.
‫Mesele şu ki, params kullanan yöntemleri zaten kullandık ve size bunu söyleyebilirim çünkü right
‫line'ı oldukça fazla kullandık ve burada gördüğünüz gibi right line hello world diyor.
‫İşin güzel yanı, sağdaki satıra bakarsanız, üzerine geldiğinizde birden fazla
‫aşırı yük olduğunu görebilirsiniz.
‫Yani temel olarak buraya bir kez daha yazmama izin verin, sağ satır böyle.
‫Parantezi açtığımda ise 18 farklı aşırı yük olduğunu görüyorum.
‫Aşırı yüklemeler temelde bu yöntem için farklı türde uygulamalardır.
‫Dolayısıyla, konsol sınıfının içinde bu yöntem için tek bir uygulama yoktur, birden fazla uygulama
‫vardır.
‫Bu yüzden buraya tıklayarak kontrol edebilirsiniz.
‫Burada bir sürü doğru hat uygulaması olduğunu görebilirsiniz.
‫Yani basit olan, sonra boolean değeri alan, iyi için tampon alan, temelde bir
‫dizi karakter ve benzeri.
‫Dolayısıyla, bu parlak çizginin sahip olduğu bir dizi farklı aşırı yük vardır.
‫Ve özellikle bahsetmek istediğim şey, burada sahip olduğumuz şey olacak.
‫Yani en azından benim Visual Studio sürümümde 15'inci.
‫Bu, ne zaman kontrol ettiğinize bağlı olarak değişebilir.
‫Ve burada params anahtar sözcüğünü görebilirsiniz, yani params nesne dizisi arg diyor.
‫Yani bu, ona verdiğiniz kadar parametre kabul edeceği ve nesne türünde parametreleri kabul edeceği anlamına
‫gelir.
‫Temel olarak, oluşturduğunuz her bir sınıf öğesi veya her biri, temel olarak herhangi bir şeyin nesneleri
‫bu tür nesneden olacaktır.
‫Yani bu sınıf programı bile dahili olarak object'ten miras alacaktır.
‫Miras konusuna biraz sonra bakacağız, ancak temel olarak her tür bilgiyi veya her tür
‫veriyi kabul ettiğini söylüyor.
‫Bu özel örnekle ilgili harika olan şey de bu, ancak bunu herhangi bir bilgi türünü kabul edecek şekilde
‫kullanmak zorunda değilsiniz.
‫Bu yüzden çok karmaşık hale gelmeden önce bir örnek görelim.
‫Bu aşırı yüklemede bir dize biçimini ve daha sonra parametreleri kabul ettiğini gördük.
‫Şimdi bu sağ satır yöntemine birkaç değer aktaralım.
‫Bu yüzden sadece price is kullanacağız ve sonra bu dizeden sonra sahip olduğumuz değer veya ilk değer
‫ne olursa olsun ve bir parametre olarak geçirdiğimiz bir virgül olacak, bu yüzden bu konum sıfır olacak.
‫Daha sonra PI 314'tür ve bu konumda olacaktır ve ET ise bu reklam işareti olacaktır.
‫Eğer bunu çalıştırırsak.
‫Temel olarak tüm parametrelerimizi kabul ettiğini göreceksiniz.
‫Yani sadece fiyat 32, pi sayısı 3. 148 ADD işaretidir.
‫Elbette istediğimiz kadar sayı veya istediğimiz kadar parametre de ekleyebiliriz.
‫Bu aptalca örnekte sayıları şu şekilde aktarıyoruz, yani bir artı iki artı
‫üç ve benzeri.
‫Temel olarak, bunlar burada sahip olduğumuz değerlerdir, ancak bunları dizede kullanmak istiyorsanız,
‫sıfır ile başlamamız gerekir.
‫Yani bu sıfır konumu olacak, bu da sadece birin görüntüleneceği anlamına geliyor, ikincisi ikiyi gösterecek,
‫bu da buradaki olacak ve böyle devam edecek.
‫Yani bu kodu çalıştırırsak, hala çalıştığını göreceksiniz.
‫Yani bir artı iki artı üç diyor ve bu şekilde devam ediyor, ta ki bize 28 sayısını verene kadar.
‫Gördüğünüz gibi burada bir sekizimiz yok.
‫Dokuzumuz var.
‫Bunların hepsini birlikte yaptık, ki burası 28. Cadde.
‫Gördüğünüz gibi burada ona aktardığımız bir hesaplama bile var.
‫Yani her türlü şeyi kabul ediyor.
‫Ancak bakmak istediğimiz önemli kısım nesneler değil, params anahtar kelimesine bakıyoruz.
‫Öyleyse, yöntemin renginin bize atmak istediği kadar parametreye izin vermek için params anahtar
‫sözcüğünü kullanacağımız kendi örneğimizi oluşturalım.
‫O halde public static adında yeni bir yöntem oluşturalım.
‫Bunu statik hale getiriyoruz, böylece ana metodumuzun içinde kullanabiliyoruz
‫ya da ana metodumuzdan çağırabiliyoruz ve hiçbir şey döndürmeyeceğim ve params metodu adını vereceğimiz bir tipte olacak.
‫Ve burada bu params anahtar sözcüğünü kullanacağız.
‫Ve sonra, bizim durumumuzda, bir nesne türü değil, ancak ona aktarabileceğimiz bir dizeler dizisi
‫olacaktır.
‫Ve bunu arayacağım.
‫Dizeler dizisi cümle.
‫Yani ebeveynlerimizin yönteminin içinde.
‫Şimdi yapacağımız şey dört döngü kullanmak olacak.
‫Ve ben sıfır olacağım.
‫Ben cezanın uzunluğundan daha az olacağım.
‫Ve sonra bir artırıyoruz.
‫Yani artı artı bir yıl.
‫Tamam.
‫Peki bu döngüde yapmak istediğim şey nedir?
‫Temel olarak, bana atılan parametreler listesindeki her bir maddeyi yazmak istiyorum.
‫Konsola yazmak istiyorum ve bunu sadece konsolu kullanarak yapabilirim.
‫Burada doğru ifade olduğunu düşündüm.
‫Evet.
‫Doğru.
‫I konumundaki cümleyi kullanmak, çünkü cümleye bakarsanız bir dizidir, dizelerden oluşan bir
‫dizidir.
‫Yani başlangıçtaki pozisyonum sıfır olacaktır.
‫Bu noktada yazacağım bir şey olarak bana verilen ilk parametre ne olursa
‫olsun ve sonra bu şekilde boş bir alan ekleyeceğim.
‫Ve for döngüsünün bir sonraki yinelemesine gidin.
‫Yani bu for döngüsü şimdi bu params yöntemine parametre aktardığımız kadar yineleyecek.
‫Şimdi ana yöntemimize bakalım.
‫Bu yönteme aslında diyelim.
‫Burada bu params yöntemini süper basit veya aptalca bir cümle ile çağıracağım, ancak cümle tek
‫tek kelimelere bölünecek.
‫Bu yüzden bunun uzun bir dizi olduğunu söyleyeceğim.
‫Ne zaman biteceği hakkında hiçbir fikrim yok.
‫Nokta, nokta, nokta.
‫Ve bu noktada devam edebiliriz.
‫Ama temelde sadece bir dize, başka bir dize, başka bir dize ve benzerlerini geçiriyoruz.
‫Burada bir sürü ip geçiriyoruz.
‫Şimdi bu uygulamayı çalıştıralım.
‫Ve bunun uzun bir dizi olduğunu görebiliriz.
‫Ne zaman biteceği hakkında hiçbir fikrim yok.
‫Artık bunu istediğimiz zaman değiştirebiliriz.
‫O zaman yapalım.
‫Tekrar çalıştıralım.
‫Ve şimdi görüyorsunuz, cezamızı sakatladık.
‫Ne zaman biteceği belli değil ama kod hala çalışıyor.
‫Yani sperms klavyesi temelde istediğimiz kadar parametre geçirmemize izin verir.
‫Hiçbir parametre de geçirmeyebilirdik.
‫Hiçbir parametre geçirmeyelim.
‫Ve hiçbir şey olmadığını göreceğiz.
‫Ama kodumuz da çökmüyor.
‫Tamam.
‫İşte bu params anahtar kelimesiyle ilgili harika bir şey.
‫Şimdi nesnelere de izin verecek bir yöntem oluşturalım.
‫Öyleyse başka bir params yöntemi oluşturalım.
‫Bu ebeveyn yöntemi iki olacak ve dizeleri almayacak, sadece nesneleri alacak ve biz buna stuff
‫diyeceğiz.
‫Şimdi yapacağımız şey, nesnelerden oluşan bir dizi olan bu for each
‫döngüsünü kullanarak ona aktardığımız nesnelerin içinden geçmektir.
‫Ve her bir nesne için, o nesneyi burada doğru ifadeye koyacaktır.
‫Şimdi ne olacak?
‫İşin güzel yanı, her bir sınıfın kendi içinde string'e çağrılan bir metodu vardır.
‫Dolayısıyla, hangi sınıfı içsel olarak yaratırsanız yaratın, her bir sınıf bu yönteme sahiptir veya object'ten miras
‫alır, bu da bu yöntemin çağrıldığı anlamına gelir.
‫İpe.
‫Yani bu, metodumuza hangi nesneyi verirseniz verin, ondan bir dize oluşturabileceği anlamına gelir.
‫Dize sadece bu bir sınıf veya bu falanca adlı sınıf gibi bir şey olsa bile.
‫Yani oradan alacağınız herhangi bir yararlı bilgi olmayabilir, ancak en azından onu bir dize haline getirecek
‫ve uygulama çökmeyecektir.
‫Dediğim gibi, miras daha sonra ele alacağımız bir konu.
‫Temel olarak, farklı sınıflar arasındaki ilişkidir ve bir sınıf ebeveyn olacaktır.
‫Ve sonra, bu sınıfa birden fazla çocuğunuz olabilir ve temel olarak ebeveyn, genel olarak belirli
‫işlevler ve üyeler için belirli bir özellik setine sahiptir ve miras alan sınıflar, ebeveyn ile aynı özelliklere sahip olacaklardır,
‫yani ebeveyn ile aynı üyeler, ancak daha sonra genişletebilirler.
‫Ancak dediğim gibi, bu konuyu ayrı bir bölümde derinlemesine ele alacağız.
‫Yani burada, eğer bunu iyi çalıştırırsak, hiçbir şey olmaz.
‫Hadi şu işi yapalım.
‫Ebeveynler yöntemini de, ona aktaracağımız bazı harika değerlerle birlikte çağıralım.
‫Bu nedenle, ona bazı aptalca değerler vereceğim.
‫Şöyle yapalım.
‫Tamam, burada fiyat olarak adlandıracağım bir tamsayı var ve ona 50 değerini veriyorum.
‫Sonra pi sayım olacak bir float geçiriyorum.
‫Sonra reklam işareti olacak bir karakterim var.
‫Sonra kitap adında bir dizim var, o da Hobbit olacak.
‫Ve şimdi yaptığım şey, sadece devam etmek ve nesnelerin bir parametre listesini kabul eden bu yöntemi kullanmak, kaç tane olursa
‫olsun ve biz sadece dört tane geçiyoruz çünkü karar verdik.
‫Üç, yedi ya da istediğimiz kadarını geçirebilirdik ama şimdi tüm bu farklı değişkenleri
‫geçiriyoruz.
‫Bu yüzden fiyatı yüksek tutuyoruz ve rezervasyon yapıyoruz.
‫Ve eğer bunu şimdi çalıştırırsak.
‫Burada 53 yazdığını göreceğiz. MS 14 ve Hobbit.
‫Ve ikinci satır, Paramount'un ikinci yöntemi dediğimiz yöntem.
‫Bir kez daha, değerleri doğrudan aktarıyoruz.
‫Burada bir dize geçiriyoruz, bir 55. 3 ve ardından bir karakter dolar işareti.
‫Yani bir karakter, çünkü burada tek tırnak kullanıyoruz.
‫Ya da temelde kesme işaretleri.
‫Şimdi merak edebilirsiniz, bu özelliği neden önemseyeyim?
‫Çünkü burada bana bazı örnekler verdin, Dennis, ama bunlar benim için gerçekten yararlı değil, bu yüzden neden umursayayım?
‫Çünkü size kaç parametre iletmek istediğimi özellikle tanımlayabilirim ve bu konuda
‫çok spesifik olabilirim.
‫Mesele şu ki, durumun böyle olmadığı, birden fazla farklı değer
‫geçirme özgürlüğüne izin verdiğinizden emin olmanız gereken pek çok uygulama var.
‫Bir sonraki videoda bu konuya spesifik bir örnek üzerinden bakacağız.
‫Orada görüşürüz.