#!/usr/bin/env python # coding: utf-8 # # Nesne Tabanlı Programlama Mantığı # # Bu konuyla beraber Nesne Tabanlı Programlamaya giriş yapıyoruz ve bu konuda biraz Nesne Tabanlı programlama hakkında konuşacağız. **Nesne Tabanlı Programlama** veya ingilizce ismiyle ** Object Oriented Programming** en basit anlamıyla gerçek hayatı programlamaya uyarlamak olarak düşünülebilir. Örneğin bir tane öğrenci otomasyon sistemi yazmak istiyoruz. Bunun için öğretmenleri , öğrencileri ve kursları aslında birer nesne olarak oluşturmamız gerekiyor. Böyle bir sistemi programlamayla gerçekleştirmek için aslında her bir nesnenin yapısını tanımlayıp, daha sonra bu yapılardan nesneler üretmemiz gerekiyor. İşte **Nesne Tabanlı Programlama** en basit anlamıyla bu şekildedir. Şimdi isterseniz **obje veya nesne** nedir anlamaya çalışalım. # ### Obje nedir ? # Etrafımıza baktığımızda aslında her bir eşyanın bir obje olduğunu görüyoruz. Örneğin bir tane televizyon kumandasını düşünelim. Bu kumandanın kendi içinde değişik özellikleri (**attribute**) ve fonksiyonları(**metod**) bulunuyor. Örneğin, kumandanın markası, tuşları aslında bu kumandanın özellikleridir(**attribute**). Kumandanın kırmızı tuşuna bastığımızda televizyonun kapanması ve sesi kapatma tuşuna bastığımızda televizyonun sesinin kapanması bu kumandanın metodlarıdır. Bunun gibi Pythondaki aslında her şey bir **objedir.** Örneğin, listelere bakacak olursak bu liste objelerinin aslında birçok metodu ve özelliği bulunur. # In[1]: liste = [1,2,3,4,5] # Liste objesi oluşturmak # In[2]: liste.append(6) # Append metodu print(liste) # In[9]: type(liste) # liste objesi # In[5]: sözlük = dict() # In[8]: type(sözlük) # dictionary objesi # In[7]: type((1,2,3,4)) # tuple objesi # In[16]: def toplama(a,b): return a + b # In[18]: type(toplama) # Fonksiyon objesi # Bir sonraki konuda ** sınıflarımızı oluşturarak kendi veri tiplerimizi ve objelerimizi** oluşturacağız.