Kadir Kasim | Freelance Code Developer

kadir kasim


Yıldız Teknik Üniversitesi Mezunu

Matematik Mühendisi

Yazılımcı

California - Kütahya - İstanbul - Maryland güzargahında 27 yıllık göçebe bir yaşam

Kız labrador babası

Kitapsever keyif insanı

Karşımızdakini olduğu gibi görmeyip Tanrılaştırmak, sonra da böyle bir Tanrı olabilirmiş de olmuyormuş diye ona kızmak.
Bana biraz haksızlık etmiyor musun ?

Kış Uykusu

Hemen hemen her programlama dilini öğrenmeye kalktığınızda yada bir projeye dahil olmak istediğiniz de karşınızda Nesne Yönelimli Programlama ( Object-oriented Programming / OOP ) kavramı.. Basitçe tanımlamak gerekirse OOP bir programlama tekniğidir. Hemen hemen her dilde karşımıza çıkması da popüler dillerin neredeyse hepsinin bu tekniği desteklemesi ve profesyonel dünyada yaygın biçimde kullanılmasındandır.

Nesne yönelimli programlama soyutlama (abstraction) ile başlar. Gerçek dünyadan bir nesneyi bilgisayar dünyasına geçirmek gibi düşünebilirsiniz. Soyutlanan nesne gerçeklikten beraberinde özelliklerini ve fonksiyonlarını da getirir. Hemen hızlıca bir örnek vermek gerekirse insanı soyutlaştıralım ve bir nesne olarak düşünelim. Her insanın ismi , yaşı , cinsiyeti gibi özellikleri ve konuşabilme, yürüyebilme gibi fonksiyonları olduğuna göre ideal bir örnek gibi duruyor.

Nesne Yönelimli Programlama Nedir

Soyutlama yaptıktan sonra nesne yönelimli programlamanın temel özelliklerini inceleyelim.

ilk olarak Kapsülleme (encapsulated) , bu isimlendirmeden gerçekten hoşlanmıyorum çünkü kapsülleme türkçede bize çok da birşey ifade etmiyor. Olması gereken isim bence paketleme , çünkü bu özellik aslında nesnenin özellik ve fonksiyonları ile beraber paketlenmesi (class gibi), bir kod bloğu içersinde düzenli ve anlaşılır olarak tutulmasıdır. Tabiki tek amacı düzenli ve anlaşılır yazılmasını sağlamak değil. Encapsulation ile projemizde kullandığımız değişkenleri private olarak tanımlayıp dışarıdan değişiklikleri kontrollü olarak yapmayı sağlayabiliriz.

İkinci olarak Kalıtım (inherit) , bir çok dilde karşımıza çıkan parent-child ilişki , annenin çoçuğuna özellik ve fonksiyonlarını aktarmasıdır. Basitçe insan nesnemiz üzerinden detaylandıralım. Önce insan nesnemizi kapsülleyip ve insan sınıfı haline getirelim. Şimdi insan sınıfından çocuk ve yetişkin olmak üzere iki sınıf türettiğimizi varsayarsak , insan sınıfı özellik ve fonksiyonlarını bu sınıflara aktaracaktır. En nihayetinde yetişkinler de çocuklar da insandır mutlu

Son olarak Çok Biçimlilik (polymorphism) , temelde farklı nesnelerin aynı olaya farklı tepkiler verebilmesidir. Basitçe bir çocuğun canı acıdığında ağlaması , yetişkinin bağırması diyebiliriz.

Temelde nesne yönelimli programlama bu kadar basittir. Bundan sonra yapılması gereken hakim olduğunuz yada öğrenmeye çalıştığınız dilde nesne yönelimli programlamanın kurucu ( Constructor ) fonksiyonlarını öğrenmek ve uygulamak ..

Tartışma Başlatmak İster Misiniz ?

Eposta adresiniz paylasılmayacaktır..

Daha Önceki Yazılar