Kalıtım (Inheritance) Nedir?

Posted on

Bir önceki Nesne Tabanlı Programlama konularında Çok Biçimlilik Polymorphism Nedir ve Örnek / Kapsülleme Encapsulation Nedir ve Örnek yazılarını paylaşmıştım.

Kalıtım nesne tabanlı programlamanın üç temel ögesinin en önemlisidir. Çünkü hkalıtım hiyerarşik sınıflandırma oluşturmayı sağlar. Konuyu biraz açmak gerekirse birbiriyle bağlantılı bir grup elemanın ortak özelliklerinden oluşan bi sınıf oluşturulabilir. Bu sınıf daha sonra yeni değişiklikler yapılarak daha özel sınıflara kalıtım yoluyla aktarılır ve her sınıf kendisinde bulunan ek özellikleri buna aktarır. Böylece uygulamanın yeni baştan yazılmasına gerek kalmaz.

Kapsülleme Encapsulation Nedir ve Örnek

Posted on

Bir önceki Nesne Tabanlı Programlama konusunda Çok Biçimlilik Polymorphism Nedir ve Örnek yazısını paylaşmıştım.

Kapsülleme, kendi amacına göre yönettiği kod ve veriyi birbirine bağlayan, kod ve veriyi dış kaynaklı karışıklık ve hatalı kullanımdan koruyan bir sistemdir. Dolayısıyla kod ve veri bir bütün olarak tutulur ve saklanır. Günlük yaşantımızda kullandığımız kapsüllü bir antibiyotiği örnek verebiliriz. Mantık aynıdır. Antibiyotiğin içindeki toz dış etkenlerden korunmak için kapsülle ambalajlanmıştır.

Nesne tabanlı programlamada kod ve veri kapsüllemeyle birbirine bağlanabilir. Yapılacak işlemler için gerekli kod ve veri kapsülün içinde vardır. Kod ve veri kapsüllemeyle birbirine bağlandığında bir nesne (object) meydana gelir.

Nesne tabanlı programlamada kapsülleme birimi sınıftır (class). Sınıf, verileri ve bu verilerle işlem yapılacak kodları belirler. Diğer bir deyişle, sınıf bir nesnenin ne şekilde yapılandırılacağını belirten planları içerir.

Kod ve veri sınıfın üyeleridir (members). Metot ise bir alt programdır. Kısaca hatırlatmak gerekirse programlama dillerinde kullanılan fonksiyonlar nesne tabanlı programlamada metot adını almıştır.

Nesne Tabanlı Programlama – 2

Posted on

1 – Kapsülleme (Encapsulation)

İşlemlerin ve verilerin gizlenmesine veya bir grup içerisinde toplanmasına kapsülleme denir. Kapsülleme sayesinde, sınıfımız içinde kullandığımız alanların dışarıdan herhangi bir etki ile doğrudan değiştirilmelerini engellemiş oluyoruz. Bu durum bizim isteğimiz dışında oluşabilecek atamların önüne geçmemize ve ille de bu alanların değerleri değişecekse bizim belirlediğimiz bir çizgide olmasına neden oluyor. Bu da programcılıkta ve özellikle nesne tabanlı programlamada çok büyük bir yere sahip olan kontrolün elimizde olmasını sağlıyor.

nesne-tabanli-programlama-kapsulleme

Yukarıdaki resimde gördüğünüz saat içinde çok karmaşık mekanizmalar bulunmaktadır. Ama bu karmaşık mekanizma saatin kullanıcısını ilgilendiren bir olay değildir. Kullanıcı için önemli olan saatin düzgün çalışmasıdır.

Nesne Tabanlı Programlama Nedir?

Posted on

Nesne tabanlı programlamada esas olan, gerçek hayatta var olan olguların programlamaya aktarılmasındaki yeni yaklaşımdır. Klasik prosedürel programlamada verilerimiz ve fonksiyonlarımız vardı. Yani her şey veri ve bu veriyi işleyen metotlar etrafında dönüyordu.

Aslında nesne tabanlı programlama da iki önemli birim; veri ve veriyi işleyip mantıklı sonuçlar üreten metotlar bulunur. Ama buradaki fark gerçek hayattaki olguların da daha iyi gözlenip programlama dünyasına aktarılmasındadır.

Mesela elimizde bir ütümüz olsun. Ütünün markası, modeli, rengi, çalıştığı elektrik voltajı, ne tür kumaşları ütüleyebildiği bu ütüye ait özelliklerdir (veri). Aynı zamanda ütümüzü ısıtabiliriz, ütüleme işinde kullanabiliriz ve soğumaya bırakabiliriz. Bunlar ise ütünün fonksiyonlarıdır (metot).

nesne-tabanli-programlama-nedir