Önceki paylaşımımda Java'da yeni bir sınıf oluşturmak ile ilgili bir giriş yaparak bir firmanın müşterilerini tanımlamak için kullandığı müşteri sınıfını tanımlamıştık. Bugün de bu sınıftan nesneler (müşteriler) ürereceğiz. Nesne odaklı (object-oriented) programlama dillerinde sınıflar ve nesneler, düşünme biçimi olarak da oldukça temel bir rol oynarlar. İlerleyen zamanlarda daha da detayına ineceğimiz gibi sınıflar arası kalıtım gibi konuları da anlayabilmek için bir sınıfın ve nesnenin ne olduğunu iyice anlamak gerekir.
Her bir sınıf tanımında yeni bir veri tipi (musteri gibi) yaratmış oluyoruz. Bu veri tipine sahip değişkenler ise nesne olarak adlandırılmaktadırlar. Örneğin Musteri sınıfından bir müşteri değişkeni (nesnesi) üretelim.
Öncelikle müşteri sınıfımız olan kodlar Musteri.java adı altında bir dosyada saklanıyor olmalı. Nesneyi üreteceğimiz yer ise farklı bir class, ben bu class'a NesneOrnegi adını verdim.
Önce, sınıfımızda tanımladığımız ilk constructor ile bir nesne üretme örneği yapalım ve tüm değişken değer atamalarını buradan yapalım.
Kodlar:
public class NesneOrnegi {
public static void main(String[] args) {
//Musteri() constructor'ı için:
Musteri musteri1 = new Musteri();
musteri1.setAd("Ahmet");
musteri1.setSoyad("YILDIZ");
musteri1.setAdres("abc sokak yxz mah.");
musteri1.setIl("İstanbul");
musteri1.setAlisverisSayisi(0);
//Bilgileri yazdıralım
System.out.println("Adı: "+musteri1.getAd());
System.out.println("Soyadı: "+musteri1.getSoyad());
System.out.println("Adresi: "+musteri1.tamAdresGetir());
System.out.println("Alışveriş Sayısı: "+musteri1.getAlisverisSayisi());
}
}
Çıktı:
Adı: Ahmet
Soyadı: YILDIZ
Adresi: abc sokak yxz mah. İstanbul
Alışveriş Sayısı: 0
Örnek 2: Şimdi sınıfımızda tanımladığımız ikinci constructor'ı kullanarak sınıf değişkenlerinin değerlerini, nesneyi tanımlarken atayalım. (musteri1 ile musteri 2 aynı özelliklere sahip olsunlar)
public class NesneOrnegi {
public static void main(String[] args) {
//Musteri() constructor'ı için:
Musteri musteri2 = new Musteri("Ahmet","YILDIZ","abc sokak yxz mah.","İstanbul",0);
//Bilgileri yazdıralım
System.out.println("Adı: "+musteri2.getAd());
System.out.println("Soyadı: "+musteri2.getSoyad());
System.out.println("Adresi: "+musteri2.tamAdresGetir());
System.out.println("Alışveriş Sayısı: "+musteri2.getAlisverisSayisi());
}
}
Çıktı:
Adı: Ahmet
Soyadı: YILDIZ
Adresi: abc sokak yxz mah. İstanbul
Alışveriş Sayısı: 0