BİLGİ SAYAMIYORUM beta

C++ ta Class ve Struct arasındaki fark nedir? Hangisini nerelerde kullanmalısınız?

0

Inheritance kelimesini nasıl türkçeleştireceğimi düşünürken tüm yapının yani nesneye dayalı diye adlandırılan programlama türünün kötü türkçeleştirmelerden oluştuğunu düşünmeye başladım. Daha önce bunları hep ingilizce gördüğüm ya da kullandığım için pek sorun olmamıştı tabii ama ne zaman bir çeviri kullancak olsam bunları düşünmeye başlıyorum. Zira doğal diller ve ihtiyaç dahilinde üretilen diller arasında böyle bir sıkıntı söz konusu, nasıl low level, high level diye programlama dillerini makine koduna yakınlıklarına göre ayırıyorsak, çevirilerin de bu tarz bir düzenlemeye ihtiyacı var. Dil uzmanı olmadığım için daha detaylı bir araştırma ve teori ile gelemeyeceğim ama kısaca, object oriented derken kastedilen şey ile, nesneye dayalı programlama ile kastedilen şeyin sezgisel olarak aynı şeyleri çağrıştırdığını düşünmüyorum. Buradaki örnekten yola çıkacak olursak, inheritance ı da kalıtım, kalıtsalllık gibi terimlerle ifade edersem neyin kalıtsallığı nesnenin mi? Nesne derken bizim kastımız nedir ki? Gündelik hayatınızda ingilizce konuşurken "what is that object?" diyebilirsiniz ama ben "oradaki nesne nedir?" şeklinde bir cümle hiç kurmadım. Belki sorun bendedir ya da belki sorun "şey" kelimesinden kaynaklanıyordur. 

C++ da, Class ve Struct tanımlamalarının farkından bahsederken de böyle bir sıkıntı söz konusu bence. İngilizce iken farkını biraz çıkartabiliyorum belki alışkanlıktan ama türkçe iken bambaşka gözüküyorlar. Farklarını anlarken belki işinize yarar böyle düşünmek. 

Her ikisini de public ve private öğelerle ile kullanabilirsiniz tabii ki. Kısaca çok farklı değiller ama içerisine koyduğunuz yapılara göre işlem içermeyenlerin struct olmasını tavsiye ediyorlar. Public ve Private ayrımı da dediğim gibi başlangıç halleri olduğu için öğeleri oluşturma esnasında hemen değiştirebiliceğiniz bir özellik. 

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER