NESNE TABANLI PROGRAMLAMA NEDİR?
Hepinize uzun bir aradan sonra kocaman bir merhaba sevgili okuyucularım. Sizlerle yeniden Siber Eğitmen sitesinde buluşmuş olmak beni ilk gün ki heyecanıma götürdü. Bu içeriğim de sizlere Nesne Tabanlı Programlamadan bahsedeceğim. Bu içeriği hazırlarken yepyeni bilgiler edindim umarım sizlerde aklınızda ki soruların cevabına bu içeriğimle ulaşırsınız. Aşağı da yorumlarda sizi beliyorum. ?
Nesne Tabanlı Programlama (OOP) Nedir?
Gün geçtikçe popüler bir hale gelen programlamanın en önemli dallarından biri de Nesne Tabanlı Programlamadır. İngilizce adı OOP yani Object Oriented Programming ‘dir. Günümüz mesleklerinden biri haline gelmiştir artık.
Nesne Tabanlı Programlamayı örnek vererek açıkladığımız zaman yeni doğmuş bir yavruyu düşünelim. Bulunduğu çevreyi algılama maratonundan ilham alınarak nesne tabanlı programlamayı örneklendirelim. Yeni doğmuş yavrunun ilk benimsediği şey annedir daha sonra baba daha sonra aile kavramı. Yeni yavru çevreye biraz daha alıştıkça dışarıda ağaçları hayvanları görmeye başlar. Kategorisi artar. Yavru bir süre sonra bitkiler, hayvanlar, eşyalar adında yeni kategoriler edinir. Zaman biraz daha ilerledikçe soyut kavramlarla tanışmaya başlar. Yavru, duyu organlarıyla ifade edemediği davranışlarını dile getirebilmek için nesnelere başvurur. Örneğin kedi ve köpekler tarafından hep korkutulan bir yavru. Kedinin sesini duyduğu ve ya köpeğin tasmasını gördüğü zaman da hep korku hissedecektir.
Daha farklı bir deyişle Nesne Tabanlı Programlama, gerçek hayatı, bilgisayar ortamına aktarmak olarak düşünebiliriz. Örneğin dışarıda gördüğümüz binalar, tabelalar, araçlar… gibi somut kavramların bilgisayar ortamına aktarılmasıdır. Binanın yapısı, kaç yıllık olduğu, kaç katlı olduğu veya araçların rengi, modeli, kapı sayısı gibi özelliklerin yine bilgisayar ortamına kodlanması Nesne Tabanlı Programlamadır.
Neden Nesne Tabanlı Programlama?
- Dünyadaki nesnelerin, bilgisayar ortamındaki tasarımları, sınıflara ayrıştırılarak yapılır.
- Bilgileri gizlemek daha kolaydır. Bunun sebebi nesnelerin birbirinden bağımsızlığıdır.
- Oluşturduğumuz sınıfları ve sınıflar arasında ki bağlantıları kurduğumuz zaman kod tekrarını önleyebiliriz. Örneğin bir e-ticaret sitesinin admin girişi ve müşteri girişini ayrı ayrı sınıf olarak düşünelim. Her iki sınıfında içinde sisteme giriş yapabilmeleri için bir kullanıcı adı lazım. Her iki sınıfa kullanıcı adı adlı bir kod tanımlamak yerine direk kullanıcı adını tanımlayan bir sınıf oluşturup bunu hem admin sınıfı hem de müşteri girişi sınıfı için kullanmak gibi.
- Kod tekrarlarını önlediğimiz için proje geliştirme sürecimiz daha hızlı ilerler.
Sınıf Nedir?
Gerçek dünyadaki, nesnelerin, özellikleri ve davranışları sınıflara aktarılması metodlar yardımıyla olur. Sınıflarda ki tanımlanmış metod ve değişkenlere sınıf üyeleri denir. Değişken diye bahsettiğimiz kavram içinde isim, soyisim, yaş, boy, cinsiyet gibi kavramları barındırır. Metotlar ise, kullanıcı giriş bilgileri, kullanıcı şifresi, iki sayının bölümü gibi bir görevi yerine getirmek için kullanılan alt programlardır. Sınıflar soyut kavramlardır.
Nesne Nedir?
İçerisinde veriler saklayan ve bu veriler üzerinde işlem yapacak olan metodları bulunduran bileşenlere nesne denir. Nesneleri oluşturduğumuz zaman hafıza da yer kaplar.
Nesne Tabanlı Programlama Özellikleri
Temelde 4 özelliği vardır. Bu özellikler:
-
SOYUTLAMA (ABSTRACTION)
-
KAPSÜLLEME (ENCAPSULATION)
-
MİRAS ALMA/ KALITIM (INHERITANCE)
-
ÇOK BİÇİMCİLİK (POLMORPHISM)
- SOYUTLAMA: Bir sınıfta ki davranış ve özellikleri tanımlamaya, soyutlama denir. Örneğin hayvanlar sınıfında kedi, köpek, tavuk sınıf özellikleridir. Bu hayvanların çıkardığı sesler ise davranışlarıdır ve bunlar metodları tanımlar.
- KAPSÜLLEME: Davranış ve özelliklerin sınıfta soyutlanmasına kapsüllenme denir. Kapsüllemeyle, sınıftaki özelliklerin ve davranışların açık veya kapalı olacağı belirlenir. Bu olayı belirten kodlar public, private, protected kavramlarıdır.
- Public : Bu davranış ve özellikleri herkes görebilir, kullanabilir.
- Private: Yalnızca kendi sınıfı için kullanılabilen özellik ve davranışlardır.
- Protected: Sınıflar içerisinde miras alınan alt sınıflar tarafından kullanılabilir.
-
- KALITIM: Sınıfları birbirinden türetebiliriz. Alt sınıflara üst sınıfların özelliklerini yazdırabiliriz. Örneğin e-ticaret ve e-ders sınıflarının ortak özellikleri olarak ad, soyad, cinsiyet gibi özellikleri her iki sınıf için ayrı ayrı yazmak yerine bu sınıf özelliklerini barındıran bir sınıf oluşturup bu sınıfları miras alabiliriz. Bir sınıf birden fazla miras alınıyorsa buna çoklu kalıtım denir.
- ÇOK BİÇİMCİLİK: Alt sınıflar, üst sınıfların gösterdiği davranışları göstermek zorunda değillerdir. Alt sınıfların üst sınıflardan farklı davranış göstermesine çok biçimcilik denir. Örneğin banka ve e-ders sınıflarının özelliklerine baktığımız ikisinin de bir sisteme giriş yapmak için işlem gerçekleştirdiğini görürüz. Ama banka sisteminde giriş yaptığımız zaman banka hesabımızı, e-ders sistemine giriş yaptığımız zaman derslerimizi görürüz. .
Nesne Tabanlı Programlamanın Kullanıldığı Diller
- JAVA
- C++
- C#
- Python
- PHP
- JavaScript
- Ruby
- Perl
- Smalltalk
- Objevtice-C
Benimle buraya kadar geldiğiniz için teşekkür ediyorum sevgili dostlarım. Diğer içeriklerime buradan ulaşabilirsiniz. 🙂
Verdiğiniz örneklerle çok iyi anlaşılan bir içerik olmuş çok teşekkürler…….
Diğer yazılarınızı okumak için sabırsızlanıyorum?
Teşekkürler sevgili adaşım 🙂