Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

Nesne Yönelimli Programlamanın Temelleri



  March 04, 2019    Labels:,,,,, 

Nesne yönelimli programlama teorisinde 4 temel özellik zorunludur. Bir dilin saf nesne yönelimli sayılabilmesi için bu 4 temel özelliği sağlaması gerekmektedir. Java, bu 4 temel özelliği sağlar ve saf nesne yönelimli bir programlama dilidir. Nesne yönelimli programlama teorisinin 4 temel özelliği;

  • Soyutlama(Abstraction)
  • Sarmalama(Encapsulation)
  • Miras Alma(Inheritance)
  • Çok Biçimlilik(Polymorphism)

Soyutlama (Abstraction)

Nesne yönelimli programlamanın en önemli özelliği sayılabilir. Soyutlama programlarımızdaki karmaşık yapıların, özelliklerin diğer parçalardan ayrılmasıdır denilebilir. Nesne yönelimli programlamada soyutlama sınıflar ile yapılır.

Sarmalama (Encapsulation)

Nesne yönelimli programlamada oluşturduğumuz sınıflarımızı yani gerçek dünyadaki nesneleri soyutlayarak bilgisayar dünyasına aktardığımız yapılarımızı diğer program parçalarından ayırırız. Çünkü her bir parçanın mekanizması ve karmaşıklığı sadece o parçaya aittir ve diğer parçaları ilgilendirmez. Ancak bu parçaların birbirleri ile iletişime geçmeleri gerekebilir. İşte bu durumu encapsulation ile sağlarız. Sınıflarımızın karmaşıklığını gizleyerek, aralarında haberleşmeleri için basit ve özel yöntemler tanımlarız.

Miras Alma (Inheritance)

Gerçek dünyada bulunan objeler birbirleri ile ilişkilidir. Bu objelerin ortak özellikleri vardır. Örneğin tüm canlıların veya tüm memelilerin ortak özellikleri vardır. Gerçek dünya objelerini bilgisayar dünyasına taşıdığımızda bu objeler arasındaki hiyerarşiyi kurmak ve ortak özellikleri tanımlamak için inheritance özeliğini kullanırız.

Çok Biçimlilik (Polymorphism)

Gerçek dünyada her obje aynı olay karşısında aynı davranışı sergilemez. Bilgisayar dünyasında da aynı sınıftan oluşturduğumuz nesnelerimizin aynı olay karşısında farklı davranmalarını sağlayabiliriz. Bunu polymorphism ile yaparız.


No comments:

Post a Comment