Nesne Yönelimli Programlama

Burak Kıvanç
lTunes Tribe
Published in
2 min readJul 1, 2022

Object Oriented Programming yani Nesne Yönelimli Programlama,her işlevin nesnel olarak soyutlandığı bir programlama şeklidir.

Uzun lafın kısası, gerçek hayatta gördüğümüz birçok nesnenin bilgisayar ortamına aktarılma şeklidir.Yani bir nesnenin ismi, rengi, şekli gibi özelliklerin bilgisayar ortamında gösterilmesi buna örnek olarak verilebilir.

Nesne Yönelimli Programlama’nın Temel Prensipleri

  • Classes (Sınıflar): Bireysel nesneler, nitelikler ve yöntemler için plan görevi gören kullanıcı tanımlı veri türleridir.
  • Objects (Nesneler): Özel olarak tanımlanmış verilerle oluşturulan bir sınıfın örnekleridir. Nesneler, gerçek dünyadaki nesnelere veya soyut bir varlığa karşılık gelebilir.
  • Methods (Methodlar): Bir nesnenin davranışlarını tanımlayan bir sınıf içinde tanımlanan işlevlerdir. Sınıf tanımlarında yer alan her yöntem bir örnek nesneye başvuru ile başlar.
  • Attributes (Nitelikler): Sınıf şablonunda tanımlanır ve bir nesnenin durumunu temsil eder. Nesneler, nitelikler alanında depolanan verilere sahip olacaktır. Sınıf nitelikleri sınıfın kendisine aittir

Nesne Yönelimli Programlama Özellikleri

Soyutlama (Abstraction):Bir sınıfta davranış ve özelliklerin tanımlanmasına soyutlama diyoruz.Örneğin bir kişinin adı, soyadı, yaşı, boyu, kilosu, saç rengi gibi özellikleridir. Kişinin yetenekleri davranışları içerisinde yer alır ve metotlar ile saklanır.

Kapsülleme (Encapsulation):Davranış ve özellikler sınıfta soyutlanır ve saklanır. Kapsülleme ile hangi özellik ve davranışın dışarıdan kullanılacağını belirleyebiliriz. Örneğin kişinin bizi ilgilendirmeyen kısımlarını private ederek yani saklayarak gizleyebiliriz. Bu olaya kapsülleme adı verilir.Kapsülleme 3 erişim türünden oluşur:

  • Public: Herkesin kullanabildiği özellik ve davranışlara verilen isimdir.
  • Private: Sadece kendi sınıfında kullanılan özellik ve davranışlara verilen isimdir.
  • Protected: Sınıf ve Miras Alınan alt sınıflarda kullanılmaya açık olanlara verilen isimdir.

Kalıtım (Inheritance): Bir nesnenin özelliklerinin farklı nesneler tarafından da kullanılabilmesine olanak sağlayan bir prensiptir.Sınıflar arasında hiyearşik bir yapı kurabilmek amacıyla kullanılır. Inheritance, bir sınıfın kendi özellikleri ve metotlarının yanı sıra kalıtım alınan base sınıfın özellikleri ve metotlarına da sahip olabilmesine olanak sağlar.

Çok Biçimlilik (Polymorphism):Alt Sınıf ve Üst Sınıfın özelliklerinden farklı şekilde davranışlar göstermesine Çok Biçimlilik denir. Örneğin; Bir nesnenin diğer bir nesneyle ortak özellikleri olmasına rağmen farklı özelliklerininde tanımlanabilmesine denir.

Nesne Yönelimli Programlamanın Avantajları

Doğal: Doğal olması sayesinde daha anlaşılır program yazma ve geliştirme imkanı sağlanır.

Güvenilirlik: İyi tasarlanmış, özenle yazılmış nesne yönelimli programlar güvenilirdir.

Zamandan Tasarruf: Modern yazılım projesinin yaşam döngüsü genellikle haftalarca sürebilir. OOP sayesinde bu süreç daha hızlı gerçekleşir. Programınızı nesneler halinde oluşturmuşsanız bir problem olduğunda birden fazla kod parçası üzerinde ayrı ayrı çalışabilir hatta birden fazla geliştirici tarafından bağımsız olarak aynı anda problemi çözebilirsiniz. Bu size zamandan tasarruf etmenizi sağlayacaktır.

Nesne Yönelimli Programlama Kullanan Diller

  • Phyton
  • C++
  • Objective-C
  • Delphi
  • Smalltalk
  • Java
  • Swift
  • C#
  • Perl
  • Ruby
  • PHP

Size bu yazımda günlük hayattan örneklerle Nesne Yönelimli Programlamayı anlatmaya çalıştım.Umarım faydalı olmuştur :)

--

--