- 9 Ara 2017
- 764
- 1
OOP (Nesne Yönelimli Programlama)
Obje=Öncelikle Obje(Nesne) nedir bunu inceleyelim.Etrafımıza baktığımızda aslında her bir eşyanın bir obje olduğunu görüyoruz.Örneğin bir telefon düşünelim bu telefonun kendine ait
birçok özelliği bulunmakta mesela rengi , ağırlığı , ekran boyutu ,fonksiyonları gibi.Pythonda her bir fonksiyon , değişken ve liste birer obje olarak düşünülebilir.
Nesne tabanlı programlamanın temelinde,class(sınıf) adlı bir kavram bulunur.Çok kaba ve oldukça soyut bir şekilde tanımlayacak olursak, sınıflar, nesne üretmemizi sağlayan veri tipleridir.Yani bir objemiz var ve biz bunun özelliklerini tanımlamak istiyoruz bunun içinde sınıfları kullanıyoruz. İşte nesne tabanlı programlama, adından da anlaşılacağı gibi, nesneler (ve dolayısıyla sınıflar) temel alınarak gerçekleştirilen bir programlama faaliyetidir.
Kod:
>>> class araç():
renk = "Kırmızı"
model = 2002
YakıtTuru= "Benzin,LPG"
Silindir= 4
Şeklinde bir araç veri tipi tanımlıyoruz.
Kod:
>>> araba1 = araç()
>>> araba1
<__main__.araç object at 0x02C189B0>
araç() adlı veriyi araba1 değişkenine atayabiliyoruz."<__main__.araç object at 0x02C189B0>" araç()'ın nesne olduğunu burda söylemiş zaten.
Kod:
>>> araba1.renk
'Kırmızı'
>>> araba1.model = "2012"
Şeklinde yaparak herhangi bir özelliği çağırabiliyoruz aynı zamanda değiştiredebiliyoruz bu yonden Listelere benzemektedir.
Kod:
>>> class öğrenci():
boy = "1.70"
kilo = "70"
okulno = "2500"
>>> student1 = öğrenci()
>>> student2 = öğrenci()
>>> #Burda gördüğümüz üzere 1 class'ı birden fazla değişkene atayabiliyormuşuz.
>>> dir(student1)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'boy', 'kilo', 'okulno']
>>> #Gördüğümüz üzere bizim tanımladığımız özelliklerin dışında bazı özellikleri Python Default olarak eklemiş.
Okuduğunuz için teşekkür ederim.Kendimce anlatmaya çalıştım bende yeni öğrendiğim için hatalarım eksiklerim olabilir kusuruma bakmayın.
Moderatör tarafında düzenlendi: