Elbette sınıflar olmadan tam anlamıyla OOP'tan verim alamayız. Ancak benim anlatmak istediğim tam olarak o değildi.
Dediğim gibi, işerisinde statik veriler taşıyan, sadece ilgili yazılıma bağlı sınıflar gördüm ben, OOP kodlayan yazılımcıların mutfağından çıkmış olmasına rağmen. Burada nesnellikten söz edeceksek, soyutluktan da söz etmemiz gerekir. Eğer kodladığınız bir sınıfa tam anlamıyla soyutluk kazandıramıyorsanız o sınıf nesne yönelimli değildir maalesef.
-Modüler bir yapıyı aklınızda canlandırın. Yazdığınız fonksiyon sadece içerisinde bulunduğu yazılıma bağlı olarak çalışmıyorsa, burada nesnellikten söz edebiliriz. Yani ben o fonksiyonu hiç birşeyine dokunmadan farklı bir yazılım içerisinde çalıştırabileyim.
Şu ikisi arasındaki farkı anlayabilen herkes, ne demek istediğimi gayet güzel anlayabilecektir.
function a(){
echo 'a';
}
a();function a($a){
return $a;
}
$a = a('selam');
echo $a;Lütfen nesnel düşünün.
Tabi ki benim burada anlatmak istediğim, "fonksiyonel yapı ile yazılmış betikler OOP mantığı dışındadır diye iddia edilemez" düşüncesiydi. Konuda OOP ve Class sorulmuş, onun üzerinden yorum yapmak gerekir.
Nesnel düşünmeyi ve soyutlaştırabilmeyi başarabildikten sonra bize her yer Paris.