Object 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.
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.
Ö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
Congratulations @elektroyazilim! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
You got a 97.35% upvote from @minnowvotes courtesy of @elektroyazilim!
You got a 50.00% upvote from @redlambo courtesy of @elektroyazilim! Make sure to use tag #redlambo to be considered for the curation post!
You got a 94.96% upvote from @luckyvotes courtesy of @elektroyazilim!
You got a 50.00% upvote from @whalecreator courtesy of @elektroyazilim! Delegate your Steem Power to earn 100% payouts.