Object Oriented Programlama # 6 - Python Dersleri (Tutorials)
zzan·@elektroyazilim·
0.000 HBDObject Oriented Programlama # 6 - Python Dersleri (Tutorials)
 Merhabalar Python programlama derslerinin bu bölümünde object oriented programlamanın yeni bir konusu olan kalıtım(inheritance) konusuna başlayacağız. > Nesne tabanlı programlama(OOP) derslerinin anlaşılabilmesi için Object oriented programlama derslerinin hepsine düzenli bakmanız tavsiye edilir. Oebject oriented programlama'nın temelinde gerçek hayatı programlamaya uyarlama çabası olduğunu söylemiştik. Şimdi kalıtım kelimesinin gerçek hayatta ne anlama geldiğini düşünelim. ## Inheritance (Kalıtım) Kalıtım, tıpkı bir ailede çocuğun özelliklerini, davranışlarını, görünüşünü anne-babasından alması gibidir. Programlamadaki karşılığı da buna oldukça benzemektedir. Kalıtım İngilizce ismiyle inheritance, bir sınıfın başka bir sınıftan özelliklerini ve metotlarını miras almasıdır. Gerçek hayattakine benzer şekilde bir sınıfı, başka bir sınıftan miras aldığımız zaman; inherit ettiğimiz diğer sınıfın özelliklerini ve davranışlarını da almış oluruz.  [Source](https://www.thecreativedev.com/inheritance-in-object-oriented-php/) Peki bir sınıftan miras almanın bize ne getirisi olabilir. Nesne tabanlı programlamanın bir teknik olduğunu ve bu teknik sayesinde kodu en verimli hale getirdiğimizi söylemiştik. Aynı şekilde inheritance sayesinde, programlarımızda kod tekrarının önüne geçilmiş olunur. Nasıl mı? Örnek üzerinden gidelim. Bir okul otomasyon sistemini düşünelim. _personel_ adında bir sınıf oluşturmuş olalım. Okul içerisindeki çalışan herkes aslında _personel_ sınıfına dahil edilebilir : işçiler ve öğretmenler İşçilerin ve öğretmenlerin bazı ortak noktalarının olduğunu biliyoruz. ad, soyad, telefon, maas gibi özellikler ikisinde de ortaktır. Tabi bu özellik listesi uzatılabilir. _personel_ adında temel(ana) bir sınıf olursa ve diğer _ogretmen_ ve _isci_ sınıfları bu sınıftan miras alırsa biz _personel_ sınıfındaki özellikleri bu iki sınıf içerisinde de tekrar tekrar yazmak zorunda kalmayız. Toparlayacak olursak _Inheritance_ uygulamalarını genel-özel ilişkisi çerçevesinde düşünebilirsiniz. Kedi ve köpeği düşünelim. Bu iki hayvan en genel haliyle ikisi de hayvandır. İkisinin de hayvan olmalarından dolayı hayvan sınıfı içerisindeki birçok özelliği taşırlar.  [Source](https://developer.hyvor.com/tutorials/php/oop-inheritance) Özele indiğimizde ise _kedi_ ve _kopek_ sınıfları ortaya çıkacaktır. Kendilerine özel özellikleri ve davranışları olacaktır. Kalıtım sayesinde hayvan sınıfının altında oluşabilecek binlerce sınıf için her defasında aynı özellikleri tekrar tekrar yazmak yerine _hayvan_ sınıfında genel özellikleri toplarız. Diğer alt sınıflar da _hayvan_ sınıfından miras alarak _hayvan_ sınıfının özellik ve davranışlarına sahip olurlar. İşte kalıtım kavramı nesne tabanlı programlamanın en önemli konularından olduğunu söyleyebiliriz. Mantığı umarım anlaşılmıştır. Bir sonraki dersimizde uygulamalar üzerinden gideceğiz. Ş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, hdu, imisstheoldkanye, laissez-faire, ezravandi, sparklemotion, primeradue, sudefteri, neokuduk, literaturk, elektroyazilim, rasit, bukiland, accelerator, tahirozgen, tangofever, map10k, soteyapanbot, sbtr, steinhammer, ikiturk, yazilim, etkinlik, steemitli, cocukgelisimi, discordtr, yusufyusuf, iskenderk, indirim, itiraf, tartisma, beyazli, kirmizili, yesilli, dergi, kuzeyli, guneyli, dogulu, batili, roportaj, sinanbayrak, bos1234, hots, opo9, gotmu, dasa, nextcol, peterpetrelli, ikiliseyir, siyahli, minnowvotes, mmmmkkkk311, informator, redlambo, inciter, luckyvotes, whalecreator, casberp, robertoueti, mynotsofitlife, duarte9sousa, joaohazim, kryptonauta, camillagomes, steemfunding, koinbot, steemst, gentianic, isovanillic, preformulated, superstratum, restacked,