İçeriğe geç

Sınıflar ve nesneler nedir ?

Sınıflar ve Nesneler Nedir? (Ve Niye İkisini Anlamaya Çalışmak Kafayı Yedirtebilir?)

Evet, konu başlığını gördünüz. “Sınıflar ve nesneler nedir?” diyorsunuz, “Bu da ne böyle?” İşte o noktada devreye giriyorum! Geçen hafta arkadaşım Baran’la bir kodlama konuşması yapıyorduk, biraz kafa dağıtalım dedik ama fark ettik ki, sınıf ve nesne mevzusu yine bir şekilde devreye girdi. Bu iki kavramı anlatmak, İzmir’de sahilde yürürken sürekli sığırların yanına gelip bir anda “Dalgalar ne güzel değil mi?” diye konuşmaya benziyor. Çünkü her şeyin içinde sınıflar ve nesneler var, ama bir şekilde kafada şüpheye yer bırakıyorlar. “Abi şimdi bu sınıf nesne mi oluyor? Yoksa nesne sınıf mı oluyor?” falan diye düşünürken bir bakmışsınız ki 2 saat geçmiş, siz hala “sınıf” demenin “nesne” anlamına gelip gelmediğini sorguluyorsunuz.

Sınıflar ve Nesneler, Çıkamadığınız Oda

Beni yakından tanıyorsanız, bir toplantıya katılmadan önce derin bir içsel sorgulamaya girdiğimi bilirsiniz. Her şey, “Acaba doğru giyindim mi?” sorusuyla başlar, ardından “Acaba kafamın sağ tarafını hafif eğdim mi? Yoksa çok pozitif mi gözüküyorum?” derken bir bakmışsınız, en temel şeyleri sorgularken büyük bir çözüm bulmuşsunuzdur. İşte, sınıflar ve nesneler de bana tam böyle hissettiriyor. İnsanlar “Evet, sınıf nedir?” diye soruyor ama cevabımda biraz daha karmaşıklaşıyorum, “İyi de, sınıf neden nesne olmasın?” diyorum.

Neyse, şaka bir yana, bir yazılım dilinde “sınıf” ve “nesne” olgusu birbirinden çok farklı şeyler. Ama bir o kadar da birbiriyle bağlılar. Bir düşünün, sınıf bir plan, bir yapı gibi bir şey. “Tamam, her şeyin şablonunu çıkardık, evet, bu sınıf şu özelliklere sahip.” Diyelim ki sınıf bir ev ve içindeki her oda da nesne. “Evin mutfağı” bir nesne mesela. Ama mutfak ne zaman ev olmaktan çıkar? Evdeki her oda bir nesne, ama sınıfın kendisi “ev”dir. Hadi gelin, biraz açalım.

Sınıf: Planı Çizen Mimara Benzer

Sınıf, yazılımdaki mimar gibidir. Bir ev yapacaksan, önce bir inşaat planı yapman lazım. O plan, her odanın neye benzeyeceğini, hangi malzemelerin kullanılacağını, kaç pencere olacağını vs. belirler. Ama o plan, doğrudan bir oda değildir. Yani şablondur, potansiyeldir. Mesela bir araba sınıfı oluşturduğunda, içinde araba nesneleri olacaktır. Bu nesneler ise her seferinde yeni bir araba olur. Araba sınıfı “araba” ile ilgili genel bilgileri içerirken, her araba nesnesi ise o sınıfın özel bir örneği olur.

Bir sınıf, bir türdeki varlıkların şablonudur. Mesela “Araba” bir sınıf olabilir. Bu sınıfın içinde özellikler (renk, hız, model) ve yöntemler (hareket et, dur) yer alır. Ama sınıf kendisi bir araba değildir, sadece araba nasıl olmalı, onun planıdır.

İç sesim: “Neyse, biraz da komik olalım. Sınıf tam olarak böyle işte, tıpkı yazılımda bir projeye başlarken ‘Vallahi güzel bir şey yapacağım ama henüz kafamda netleşmedi’ dediğin zamanlar gibi.”

Nesne: Planı Gerçeğe Dönüştüren Kişi

Nesne ise bu sınıfın somutlaşmış halidir. Düşün, sınıf bir arabanın planı, nesne ise o planın gerçeğe dönüşmesidir. Araba sınıfından bir nesne yaratmak demek, bir arabayı yolda görmek gibidir. Hani, her araba aslında aynı sınıfa ait olabilir ama her biri farklı renklerde, farklı hızlarda olabilir. Her biri birer nesne.

“Benim araba nesnem” dediğinde, aslında o araba sınıfından bir nesne yaratmışsındır. Sınıfın tüm özelliklerine sahiptir, ama nesne işin içine girdiğinde biraz daha özel olur. Yani araba nesnesi, evet, bir sınıfın örneği ama onu başka bir arabadan ayıran bazı farklılıklar vardır.

Bir arabayı sınıfla değil, nesneyle düşündüğünde, bir anda daha kişisel bir bağ kurarsınız. Artık o araba, sizin arabanızdır. Sınıf belki “Araba” demekle yetinir, ama nesne, renk, hız ve diğer kişisel özellikleriyle sizin aracınız olur.

İç sesim: “Böyle anlatınca biraz kafa karıştırıcı olmuyor mu? Düşün, ‘sınıf’ dediğinde kendi yaşam planını anlatıyorsun ama ‘nesne’ dediğinde o yaşam planını bir şekilde bedene dönüştürüyorsun. Hadi şimdi biraz daha derine inelim.”

Daldan Dala: Sınıf ve Nesne ile Gerçek Hayat

Evet, şimdi sıkıcı kısımdan uzaklaşalım ve biraz da gündelik hayata dönelim. Düşünün, sınıf ve nesne ilişkisi bir şekilde gündelik hayatta karşımıza da çıkabilir. Mesela arkadaş ortamında bir konu açalım. “O zamanlar benim hayatım böyleydi, şu şekilde yaptım, bunu istedim” diyen bir arkadaşınız var. Hah, işte o arkadaşınız “sınıf”tır. Çünkü o arkadaşınız “planı” anlatıyor, ama o planın içindeki nesneleri yaşarken göremezsiniz. Ne zaman ki o arkadaşınız, anlatmaya başlar ve hikayenin içinde “gerçek” olmaya başlar, o zaman “nesne” olur. Çünkü artık bir örneği vardır.

Düşünün, Baran’la yazılım hakkında konuştuğumuzda şöyle bir diyalog gerçekleşiyor:

Ben: “Bak, sınıf nedir biliyor musun?”

Baran: “Daha dün öğrendim. Ama biz sınıfla ilgili öğrettikleri her şeyin tamamını unuttuk da, hala ‘nesne’yi anlamadık.”

Ben: “Sınıf bir plan, nesne o planın gerçeğe dönüşmesi! Hani bir şeyin taslağını yapmak gibidir.”

Baran: “Yani sınıf bir fikir, nesne de o fikri hayata geçiren bir şey mi?”

Ben: “Evet, tam olarak. Biraz da kodlayalım, görelim!”

Gördüğünüz gibi, hayat da aslında bir tür kodlama. Planlı bir şekilde giden işler, bazen işlerimize otururken, o planları hayata geçirmemiz gerekir. Yani hayatımızdaki “sınıflar” planı yaparken, “nesneler” her zaman o planın biraz kişiselleştirilmiş halidir.

Sonuç: Sınıf ve Nesneler, Gerçekten Nerede?

Bazen yazılım dünyasında sınıf ve nesne konusu öyle karmaşıklaşıyor ki, insan kendi içindeki varlıklar arasında bir ilişki kurmaya başlıyor. Sınıflar ve nesneler arasında zengin bir bağ kurmak, hayatta neleri doğru yapmamız gerektiğine dair harika bir yol haritası olabilir. Sonuçta, her şeyin bir planı vardır ve o planı gerçekleştirmek de ancak nesnelerle mümkün olur.

Sınıf ve nesne, her ikisi de birer araçtır ve ikisi de birlikte çalışarak yazılım dünyasını şekillendirir. Ama bu “plan ve gerçeğin birleşmesi” her zaman olduğu gibi, hayatın içinde de bir şeyleri anlamamızı sağlar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

şişli escort
Sitemap
elexbet yeni adresivd casinobetexper güncel