Merhaba! Bu ders notumuzda, nesne yönelimli programlamanın (OOP) temel taşı olan "Nesne" (Object) kavramını detaylıca inceleyeceğiz. Bu konu, modern yazılım geliştirmenin olmazsa olmazlarındandır.
Bu dersin sonunda öğrenci, bir nesnenin ne olduğunu, özelliklerini ve gerçek hayattan yazılıma nasıl modellendiğini açıklayabilecektir.
Nesne, durumu (state) ve davranışı (behavior) olan bir yazılım birimidir. Gerçek dünyadaki varlıkların (araba, kullanıcı, sipariş) bilgisayar programındaki soyut temsilidir.
Matematiksel olarak, bir nesneyi özellikler kümesi \( O = \{p_1, p_2, ..., p_n\} \) ve bu özelliklere etki eden fonksiyonlar/metotlar \( F = \{f_1, f_2, ..., f_m\} \) olarak düşünebiliriz.
Nesnenin sahip olduğu veriler veya durumlardır. Değişkenlerle (fields) temsil edilir.
renk = "Kırmızı", hız = 120, yakıt = 60.5Nesnenin yapabildiği işlemler veya davranışlardır. Fonksiyonlarla temsil edilir.
hızlan(), frenYap(), kornaÇal()Nesneler, birer somut örnek (instance) iken, onların şablonu/planı olan yapıya Sınıf (Class) denir. Sınıf, nesnelerin nasıl oluşturulacağını tanımlayan bir kalıptır.
Analoji: "Araba" sınıfı, "Ahmet'in kırmızı Mercedes'i" nesnesinin şablonudur.
Aşağıda basit bir "Kullanıcı" sınıfı ve ondan türetilen bir nesne örneği verilmiştir:
class Kullanıcı {
// Özellikler (Properties)
String ad;
String email;
int yaş;
// Metot (Method)
void bilgileriYazdir() {
print("Ad: " + ad + ", E-posta: " + email);
}
}
// Nesne Oluşturma (Object Instantiation)
Kullanıcı kullanici1 = new Kullanıcı();
kullanici1.ad = "Ayşe";
kullanici1.email = "ayse@ornek.com";
kullanici1.bilgileriYazdir(); // Çıktı: Ad: Ayşe, E-posta: ayse@ornek.com
Nesne, özellikleri ve metotları olan, sınıftan üretilen somut bir yazılım varlığıdır. OOP'yi anlamak için bu kavramı iyi özümsemek gerekir. Bir sonraki derste "Sınıf (Class)" kavramını daha derinlemesine işleyeceğiz.
Kendinizi Test Edin: Etrafınızdaki gerçek bir varlığı (örn: telefon, kitap) düşünün. Onun özelliklerini ve yapabildiği işlemleri (metotlarını) listeleyerek bir nesne olarak modellemeye çalışın.