Object Oriented Programlama # 4 - Python Dersleri (Tutorials)
zzan·@elektroyazilim·
0.000 HBDObject Oriented Programlama # 4 - Python Dersleri (Tutorials)
 Merhabalar Python programlama derslerine nesne tabanlı programlama ile devam ediyoruz. En son sınıf kavramından bahsetmiş, kendi veri tiplerimizi üretmiştik. Ayrıca _init()_ fonksiyonunu en basit haliyle kendimiz tanımlamıştık. > Bu ders önceki derslerin devamı niteliğinde olduğundan öncelikle onlara bakmanız tavsiye edilir. Bu dersimizde _init()_ fonksiyonu ile alakalı anlatmadığım noktalardan bahsedeceğim. _init()_ fonksiyonu tanımlanırken _self_ parametresi ile birlikte tanımlandığını görmüştük. _init()_ fonksiyonu parametre almasına rağmen biz herhangi bir parametre göndermedik. Peki bu _self_ parametresi ne işe yaramaktadır? _init()_ fonksiyonundaki _self_ parametresi bir nesne oluşturduğumuz zaman o nesneyi gösteren bir referanstır. Bizler bir nesnenin tüm özelliklerini veya metotlarını bu referans üzerinden erişebiliriz. _self_ referansı, herhangi bir nesne oluşturulduğunda Python tarafından otomatik olarak gönderilir. Bizim özel olarak self referansını göndermemize gerek yoktur. > _self_ anahtar kelimesini C# 'daki _this_ anahtar kelimesi gibi düşünebilirsiniz. Kullanım olarak oldukça benzemektedir. Aynı şekilde _init()_ fonksiyonunu da constructor yani kurucu metotlar gibi düşünebilirsiniz. _init()_ fonksiyonu sayesinde nesnelere başlangıç değerleri verebiliriz. Şimdi _init()_ fonksiyonunu kullanarak aynı sınıftan oluşan nesnelere nasıl farklı değerler nasıl verilir, görelim. İlk olarak sınfımızı tanımlayalım :  _computer_ sınıfını içerisinde _init()_ fonksiyonu olacak şekilde baştan tanımladık. _init()_ fonksiyonundaki parametreler, sınıfımızın özelliklerini temsil etmektedir. > self.model = model kodu ile bizim oluşturulacak olan nesnemizin model özelliğine parametre ile gelen model değerini ata diyoruz. Diğer özellikler de aynı şekildedir. _self_ parametresinin kullanımını zorunludur, oluşturulan nesneyi işaret etmektedir. Ancak uygulamada biz herhangi bir değer vermeyiz, sanki yokmuş gibi davranırız, görelim :  comp1 ve comp2 adında iki nesne oluşturduk ve sınıf parantezleri içerisine vermek istediğimiz değerleri, _init()_ fonksiyonundaki sıraya uyacak şekilde verdik. Şimdi print() fonksiyonunu kullanarak nesnelerimizin özelliklerine bakalım :  Görüldüğü gibi oluşturduğumuz 2 ayrı nesnenin özellikleri de bizim verdiğimiz değerler gibi ve birbirinden farklıdır. Peki biz _computer_ sınıfından bir nesneyi ilk yaptığımız gibi parametresiz bir şekilde oluştursak nasıl bir sonuç alırdık ? :  Görüldüğü gibi hata aldık. Böyle bir hata almamak adına parametrelere default değerler verebiliriz :  Şimdi de değer vermeyecek şekilde bir nesne oluşturup sonucu görelim :  Görüldüğü gibi herhangi bir hata almadığımız gibi değerleri yazdırmak istediğimizde belirlediğimiz default değerler geldi. Şimdilik bu kadar. Umarım faydalı bir çalışma olmuştur. Teşekkürler.  Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me
👍 maonx, anomaly, laissez-faire, ezravandi, accelerator, bert0, cocukgelisimi, etasarim, map10k, nin4i, sudefteri, neokuduk, literaturk, elektroyazilim, rasit, maveraunnehr, tahirozgen, tangofever, iskenderk, soteyapanbot, sbtr, yusufyusuf, steinhammer, ikiturk, yazilim, etkinlik, steemitli, discordtr, sinewless, indirim, itiraf, tartisma, beyazli, kirmizili, yesilli, dergi, kuzeyli, canercanbolat, guneyli, thales7, dogulu, batili, roportaj, sinanbayrak, bos1234, hots, opo9, gotmu, dasa, nextcol, peterpetrelli, ikiliseyir, siyahli, trdaily, talaxy, baycan, new.diak, myrose, turk, sevecen, meowcliver, melihkorkmaz, parakazan, bumut, minnowvotes, redlambo, steemst, steemlite, koinbot, steemlike, steemfunding,