Python'da OOP //Ar-Ge Kulübü

YESBUTNO

Katılımcı Üye
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.


eJG4ls.jpg


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:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.