Python nesne tabanlı programlama nedir?

Megumi Lisa

Hectopat
Katılım
17 Mayıs 2020
Mesajlar
2.553
Makaleler
1
Çözümler
24
Yer
Türkiye
Ben Python öğreniyorum, ama bir türlü nesne tabanlı programlamayı anlayamadım, kafamda tam oturmadı. Yani normal Python yazıyoruz ama nesne ne tam olarak, yani farkı mı var. Ve class kullanımını da anlamadım. Bana bilmeze anlatır gibi anlatabilecek var mı?
Teşekkürler.
 
Son düzenleyen: Moderatör:
Örneğin araçları düşünelim. Araçlar bizim sınıfımız. Kamyon bir araçtır, taksi bir araçtır, motor bir araçtır. Fakat her birinin motor gücü, yakıt türü, yakıt tankı kapasitesi, tekerlek sayısı ve boyutu gibi ortak özellikleri var. Özellikler ortak olabilir fakat değerler ortak değil. Örneğin bir tır, bir taksiden daha fazla motor gücüne sahiptir. Motorsiklet ise 2 tekere sahiptir gibi. Bunlar için her seferinde farklı bir değişken atamak yerine sınıf oluştururuz. Eğer sınıf kullanmazsak;

Python:
tır_teker = 4
motorsiklet_teker = 2
tır_motor_gücü = 400
motorsiklet_motor_gücü = 150
gibi tek tek atama yaparız ki bu bize kullanım açısından zorluk sağlar. Yada sınıf oluştururuz. Ortak olan tüm özellikleri oluşturduğumuz sınıftan alırız ve nesnemize özel değerleri girebiliriz.
Python:
class arac:
    teker_sayisi = 0  
    motor_gücü = 0
    yakıt_türü = ""
    yakıt_kapasitesi = 0

tır = arac()

tır.teker_sayisi = 8
tır.motor_gücü = 400

motorsiklet.teker_sayisi = 2
motorsiklet.motor_gücü = 150

Verdiğim çok sığ bir örnek ama temelleri anlamak amacıyla yardımcı olabilir diye umuyorum.
 
Örneğin araçları düşünelim. Araçlar bizim sınıfımız. Kamyon bir araçtır, taksi bir araçtır, motor bir araçtır. Fakat her birinin motor gücü, yakıt türü, yakıt tankı kapasitesi, tekerlek sayısı ve boyutu gibi ortak özellikleri var. Özellikler ortak olabilir fakat değerler ortak değil. Örneğin bir tır, bir taksiden daha fazla motor gücüne sahiptir. Motorsiklet ise 2 tekere sahiptir gibi. Bunlar için her seferinde farklı bir değişken atamak yerine sınıf oluştururuz. Eğer sınıf kullanmazsak;

Python:
tır_teker = 4
motorsiklet_teker = 2
tır_motor_gücü = 400
motorsiklet_motor_gücü = 150
gibi tek tek atama yaparız ki bu bize kullanım açısından zorluk sağlar. Yada sınıf oluştururuz. Ortak olan tüm özellikleri oluşturduğumuz sınıftan alırız ve nesnemize özel değerleri girebiliriz.
Python:
class arac:
    teker_sayisi = 0 
    motor_gücü = 0
    yakıt_türü = ""
    yakıt_kapasitesi = 0

tır = arac()

tır.teker_sayisi = 8
tır.motor_gücü = 400

motorsiklet.teker_sayisi = 2
motorsiklet.motor_gücü = 150

Verdiğim çok sığ bir örnek ama temelleri anlamak amacıyla yardımcı olabilir diye umuyorum.
Peki sadece tanımlamak için mi kullanılıyor ? Mesela burda tır tanımlamışsınız.
 
Peki sadece tanımlamak için mi kullanılıyor ? Mesela burda tır tanımlamışsınız.
Hayır. Pek çok özellik sağlanabilir. Yani örneklendirmek gerekiyor. Örneğin kendi listeleme sisteminizi oluşturabilirsiniz. Her bir liste için ayrı ayrı sort fonksiyonu yazacağınıza, sınıfın içerisine bir sort fonksiyonu hazırlarsınız, böylece sınıfın tüm üyeleri ayrı ayrı fonksiyondan faydalanabilir. Double ended queue / çift uçlu sıra güzel bir örnek mesela.
 

Geri
Yukarı