Bir paradigma sadece. Ogrenirsen vizyon katmasi acisindan iyi olur. Hic ogrenmeden de cogu projeyi yapabilirsin.
OOP yapinca daha iyi projeler gelistirmis olmuyorsun, sadece programin isleyisi, mimarisi ve gelistirilmesi bu temellere gore sekilleniyor, o kadar. Paradigma genel olarak problem cozme sekli gibi dusunebilirsin, programlama semsiyesi altinda. Ornegin denklem kurma problemlerinin hepsini analitik duzlemde esitsizlikler, dogru ve parabollerle cozebilirsin. "Cozum kumesi" kavrami da buradan gelir zaten. Belirli bir alandaki noktalar kumesi cozumu saglar. Ya da coktan secmeli tum sorulari yanlis cevabi eleyerek cozebilirsin. Bu bahsettigim seylerin hepsi aslinda "paradigma". Kimisi x,y,z kavramlariyla soru cozer, kimi analitik duzlemde cozer, kimisi siklardan gidip cozume ulasir. Her paradigmanin is yaptigi soru modeli farklidir.
Bu arada Class kullaninca OOP yapmis olmuyorsun. Class'i sadece data modellemek icin kullanabilirsin. Bu kavram icin bazi dillerde ozel class'lar var, ornegin Kotlin -> data class:
Data classes | Kotlin
OOP yapman icin sorumlulugu class'lara duzgun dagitman, inheritance ~ polymorphism yasalarini yine class'lara karmasikligi minimize ederek paylastirman, classlarin olusturulmasinda ve yok edilmesinde belirli paternler takip etmen ve yazilimin her noktasinda bu yaklasimi surdurmen gerekiyor. Elbette kullandigin programlama dilininin de bunu desteklemesi sart.
Mesela bir class açmadan düz bir variable açmak daha mantıklı geliyor
Variable ile Class birbirinin alternatifi seyler degil zaten. Mesele variable tanimlamak degil,
nerede tanimlayacagina karar vermek.