Nesne Yönelimli Programlama (OOP — Object Orianted Programming) Nedir ?

Enver Şanlı
2 min readFeb 19, 2021

--

Yazılım dünyasında gerçek hayattaki taklitlerden bir tanesidir NESNE / OBJECT kavramı. Bu kavramla birlikte yazılım dünyasında Nesne Yönelimli Programlama (OOP) tekniği dahil olmuştur.

Nesneler aslında özü itibari ile birbirinden ayrılan özellikleri ile özelleştirilir ve ayırt etmesi, yorumlanması kolaylaşır. Yazılım sistemleri de kendi içerisinde karmaşık ve sistematik bir ilerlemeye daima ihtiyacı olan sistemler olmasından ötürü, olayları nesneler halinde yönetmek büyük kolaylıklar sağlamaktadır. Bu kolaylık aslında gerçek hayattan farklı değildir çünkü etrafımızda bir çok nesne (object) var ve biz bu nesneler arasında sürekli olarak var olduğumuz için nesneleri tanımak, yorumlamak, hangi sınıfa — gruba ait olduğunu anlamak önemlidir. Bu konulara hakim olmak yaşamı kolaylaştırır, süreci hızlandırır ve buna bağlı bir çok imkanı da beraberinde getirir. Yazılım sisteminde de aynı avantajları sağlar. Bunu gerçek hayat üzerinde bir örnekle ifade etmek gerekirse, bir kırtasiye de çalıştığınızı düşünelim. Kırtasiye de bir çok farklı ürün (nesne — object) ve bu ürünlerin ilişkili olduğu gruplar (sınıf — class) var. Siz bu kadar çok ürün ve grubun olduğu bir ortamda ürünleri ve sınıfları doğru yönetmeniz gerekir çünkü aksi taktirde iş yeri içerisinde ortam karmaşık ilerleyecek ve işler aksayacaktır. Bu örneğimizi “kalem ve defter ürünleri ” ile detaylandıralım.

Kalem ve defter ayrı ayrı birer gruptur (class) ve özellikleri, renkleri, kullanım amaçları birbirinden farklı olacak şekilde onlarca seçenek ürün (object) vardır. Biz bu iki ayrı grubu yani kalem ve defteri biribirinden gruplandırılmış şekilde ayrı bölümlerde düzenli şekilde toplayacağız.

Yine defter ve kalemlerin de özellikleri (properties) vardır ve bu özelliklerde nesneleri birbirinden ayırır. Özellikleri daha iyi ifade edecek olursak; renk, şekil, kullanım amacı gibi farklılık ve ürünü nitelendiren her şey özellik (properties) olarak değerlendirilir.

Biz bu kalem ve defler gruplarını sağ ve sol olarak rafın (Database — Veritabanı) iki bölümünde toplayacağız. Rafın sağına defter sınıfını, sol tarafına ise kalem sınıfını koyacağız.

Properties DEFTER — Class KALEM — Class

Özellik Renk Renk

Özellik Şekil Şekil

Özellik Kullanım Amacı Kullanım Amacı

Özellik Ürün Kodu Ürün Kodu

Özellik Marka İsmi Marka İsmi

Ürünleri sınıflarına ve özelliklerine göre sıraladık. Bir müşteri geldiğinde ve bu ürünlerden herhangi birini talep ettiğinde artık hangi ürün grubunun rafın hangi tarafında olduğunu ve gruba veya nesneye ait özellikleri de bildiğimizden ötürü müşterinin talebine hızlıca cevap verebileceğiz.

“Kırmızı kalem” denildiğinde artık hangi bölüme bakılacağını biliyoruz.

Aynı örneği bir yazılım sistemi üzerinden sürdürelim. Bu yazılım da yine bir kırtasiyedeki ürünlerin takibi üzerine geliştirilmiş bir yazılım olsun. Yine ürünlerin ve ürünlere ait özelliklerin de kayıtlı olduğu bir veritabanımız (bir önceki örnekte ki rafa karşılık gelir) olsun. Aynı 2 ürün üzerinden sürdürecek olursak, defter ve kalem için öncelikle class’lar (sınıf) oluştururuz.

Bu 2 ayrı ürün grubunu takip etmek için kuponlarımızı belirleyelim. Elbette bu ürünlerin özellikleri tespit etmek gerekir ve ürünün diğer ilişkililerini

Defter için

⁃ İd

⁃ İsim

⁃ Urun_kodu

⁃ Tipi

⁃ Stok_adedi

⁃ Bolum_adi

⁃ Raf_no

⁃ Renk

⁃ Tarih

⁃ …

Class Defter{

$id;

$isim;

$urunKodu;

$tip;

$stokAdedi;

$bolumaAdi;

$rafNo;

$renk;

$tarih;

Public function index(){

}

}

$defter = new Defter();

$defter->stokAdedi = 50;

Echo $defter->stokAdedi;

“Defter” isimli bir sınıf ve bu sınıfa tabi olan nesnelerin muhtemel özelliklerini tanımladık.

To Be Contunied !

--

--

Enver Şanlı
Enver Şanlı

No responses yet