Bütün dünyayı nesneler ( objects ) ve nesneler arası ilişki olarak gören model kullanılarak yapılan programlama. Bu programlama tekniğine göre her nesne bir sınıfa ( class ) aittir ve bu classtan türetilir.
* Örneğin çomar bir köpektir (bu cümlede çomar nesnenin ismi, köpek ise sınıf ismidir)
Her sınıfın özellikleri ( attributes, properties) ve eylemleri (methods) bulunur.
* Örneğin, köpeklerin boyu, kilosu ve yaşı vardır. (bu cümlede köpek sınıfının (ve dolayısıyla bu sınıftan olan nesnelerin) boy, kilo ve yaş özellikleri oldugu belirtilmiştir)
* Örneğin, köpekler koşarlar, kemik yerler ve uyurlar. (Bu cümlede ise köpeklerin 3 ayrı methodu , koşmak, kemik yemek ve uyumak olarak verilmiştir.)
Sınıflar arası ilişkiler dünyanın modellenmesinde kullanılır. Örneğin personel takip sistemi yazılırken kullanılan bir nesne yönelimli modellemede, insan sınıfının boyu kilosu ve yaşı gibi özellikleri, sekreter, müdür ve mühendis gibi diğer sınıflarda da kullanılacaktır. Bu durumda inheritance (miras kalma) kullanılarak sınıflar arası bilgi geçişi yapılır.
* Örneğin, insanın boyu kilosu ve yaşı vardır. Müdür bir insandır. (bu cümleler ile anlatılan, müdürün insanın taşıdığı özellikleri taşıdığı, yani müdürün de boyunun kilosunun yaşının olduğudur)
En meşhur object oriented programming languages (Nesne yönelimli programlama dilleri ) JAVA, C++ ve PHP gibi dillerdir. Bu örneklerden pure object oriented (Saf nesne yönelimli programlama dili) JAVA dır ve JAVA bütün mantığını nesne yönelimli olarak inşa etmiştir.
Yukarıda verilmiş olan cümlelerin JAVA dilinde kodlaması aşağıda verilmiştir:
public class kopek{ int boy; int kilo; int yas; public void kosmak(){} public void yemek(Kemik k){} public void uyumak(){} } public class insan{ int boy; int kilo; int yas; } public class mudur extends insan{ } public class mainclass{ public static void main(String args[]){ kopek comar = new kopek(); //comar bir kopektir mudur ahmet = new mudur(); // ahmet mudurdur ahmet.yas=35; // ahmetin yasi 35tir. Dikkat ediniz mudur sınıfının yaşı yok, bu bilgi insan sınıfından gelir } }
mudur ahmet = new mudur(); // ahmet mudurdur
mudur.yas=35
burada ahmet.yas =35 olması gerekmez mi?
evet gerekir, yazının içerisinde hatalı yazılmış düzeltiyorum. İlginiz için teşekkürler.
bence doğru yazılmış
olması gereken
mudur ahmet = new mudur();
ahmet.yas=35;
burada müdürü ahmete atadık zaten
ahmet.yas=35 doğru bence
public class mainclass ın işlevi nedir burda? sınıflardan constructor oluştururken mi kullanıyorz hocam?
mainclass isimli sınıf yazmış olduğumuz kopek ve insan sınıflarını çağrımak için kullanılan ana sınıf. JAVA dilinde bir sınıfın bu özelliği taşıyarak main fonksiyonu içermesi gerekir. İlk çalıştırılan fonksiyon main fonksiyonudur ve bu fonksiyonu içeren sınıfın public olması gerekir. İşte buradaki mainclass sınıfı da bu amaçla ilk çalışacak sınıf olarak belirlenmiştir.