Object Oriented Programlama # 6 - Python Dersleri (Tutorials)

in #zzan5 years ago

object.jpg

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

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

Ö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.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me

Sort:  

Congratulations @elektroyazilim! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 7000 upvotes. Your next target is to reach 8000 upvotes.

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 can upvote this notification to help all Steem users. Learn how here!

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.

Coin Marketplace

STEEM 0.18
TRX 0.18
JST 0.032
BTC 87512.19
ETH 3031.52
USDT 1.00
SBD 2.72