Öncelikle, kod bir miktar uzun olduğu için codeshare üzerinden paylaştım:
Dostlar, henüz Python’da acemi olduğumu belirtmek isterim. Bu sıralar da Nesne Tabanlı Programlama’nın temel mantığını anlamaya çalışıyorum kendimce. Bu gece bu kodu yazdım. Sizlerden ricam, kodda gördüğünüz mantıksızlık var ise eğer veyahut da daha kısa yazılabilirdi dediğiniz kısımlar varsa, yorumlamanız olacaktır.
Ayrıca kendimce bazı konuları kavramak açısından bir iki soru sormak da istiyorum:
1- Class, programda yazılacak kodları öncelikle daha düzenli ve tertipli yazmamızı sağlayan bir araçtır. Classlar, özelden genele doğru düşünüldüğünde yazılacak kısmın en genel parçasını ifade eder. Yalnızca gerçek hayattaki nesneler gibi düşünmek doğru olmaz, programın içinde kendi içinde dallanan ve özelliklere sahip olan her bölümü classların içinde kodlamak doğru olacaktır. Sizce bu doğru mudur? Ben kendimce bu şekilde anlamlandırdım.
Mesela ben yukarıdaki kodda da aynı şekilde, tkinter ile tasarladığım basit bir formu programın ana gövdesi gibi düşünerek, genel bir class içine aldım. Ve bu ekranı atadığım her nesnede, ki bu koda göre tek bir nesne olacak bu, init sayesinde yapılması gereken işlemleri de yazdım.
Sanırım denilebilir ki tek bir program için OOP kullanmana gerek yoktu. Ancak şunu da sormak istiyorum:
Mesela ben bu programa giriş yapıldıktan sonra bir ekran, o ekranda da farklı işlemler yapmaya yarayacak özellikler eklemek istiyorum. Mantıken bu alanı da ayrı bir sınıf gibi mi düşünmeliyim?
Ayrıca, PEP8 hatası olarak özellikle şu hatayı alıyorum:
instance attribute defined … outside init
Normal şartlar altında instance fonksiyonu tanımlamak için initin dışına yazmam gerekmez mi?
Çok uzattıysam kusuruma bakmayın. Zaman ayırıp cevap vereceklere şimdiden çok teşekkürler