-- cSharp, java

Java %100 Nesne Yönelimli Bir Programlama Dili Midir?

Kısa cevap: Hayır.

Daha uzun cevap:

Java ve C# nesne yönelimli programlama dilleridir ama %100 nesne yönelimli değillerdir. Bir programlama dilinin %100 nesne yönelimli olması için sağlaması gereken bir kurallar kümesi var(mış). Bunları şu şekilde listeleyebiliriz:

  • Encapsulation / Data hiding -> Kapsülleme, sarmalama, paketleme / Veri gizleme
  • Inheritance -> Kalıtım, miras
  • Polymorphism -> Çok çeşitlilik
  • Abstraction -> Soyutlama
  • Tüm öntanımlı tiplerin nesne olması
  • Tüm kullanıcı tanımlı tiplerin nesne olması
  • Tüm işlemlerin nesnelere mesaj gönderilerek gerçekleştirilmesi

Java’da Boolean, Integer gibi nesne tiplerinin yanında, nesne olmayan boolean, char, short, int, long, float, double gibi primitive tipler bulunmaktadır. C#’ta bu tipler de nesne olmasına rağmen bünyesinde bulundurduğu struct’dan dolayı C# da %100 nesne yönelimli olma kategorisine dahil olamıyor.

Peki hangi programlama dilleri %100 nesne yönelimlidir? Öyle bir dil var mıdır?
Eiffel, Smalltalk ve Ruby bu dillere örnek olarak verilebilir. Şu adreste sadece nesne yönelimli olma değil, birden fazla kategori altında dillerin karşılaştırması bulunabilir ve o sayfada bulunan ‘Object-Orientation’ başlığı altında hangi dilin hangi sebeplerden ötürü %100 nesne yönelimli olmadığı görülebilir.

Yorum yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. Linteki kıyaslama tablosu güzelmiş. İzahlı mizahlı