Java’da sınıflar ve nesneler OOP’ların(nesne yönelimli programlama) yapı taşları gibidir. Java’da sınıflar ve nesneler birbirini tamamlayan iki parçadır. İlk olarak sınıfları inceleyelim.
Sınıflar (Classes)
Sınıflar, ortak özellikleri sahip nesneler grubudur. Nesnelerin oluşturduğu bir plandır. Sınıfları anlamamız açısından örnek vermemiz gerekirse. Sınıfı bir evin krokisi olarak düşünelim. Katlar, pencereler, kapılar ve duvarların bulunduğu bir plan o ev ile ilgili ayrıntılar olarak düşünebiliriz. Burada nesnemiz ise evdir. Farklı bir bakış açısıyla ele aldığımızda, sahip olduğumuz kroki ile biz birden fazla ev yapabiliriz, aynısını biz yaptığımız programda uygulayabiliriz java’da sınıflar kavramında da yapabilmekteyiz.
Sınıfların Genel Kullanım Koşulu:
1 2 3 4 5 | class sınıf_adı { //metotlar (Methods) //özellikler (Fields) } |
Metotlar: Bazı işlemleri gerçekleştirmemiz için kullanılır.
Özellikler: Nesnemizin özelliklerini (renk, boy vs.) belirlemek için kullanırız.
Bir araba nesnesi için sınıf oluşturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 | class araba //araba adında bir sınıf oluşturduk. { //4 adet özellik tanımladık public String model; public Double motor_hacim; public String renk; public String marka; public void gaz() //ve gaz adında bir metot yani davranış tanımladık. { System.out.println("Gaz çalışması"); } } |
Oluşturmuş olduğumuz örnekte, araba adında sınıf oluşturduk. Oluşturmuş olduğumuz sınıfın içerisine 4 farklı özellik tanımladık. Sonrasında ise gaz adında bir metot tanımladık.
Oluşturmuş olduğumuz araba sınıfını bir kroki olarak düşünebiliriz, bu krokiyi kullanarak istediğimiz kadar araba üretebiliriz. Bu programın devamını, aşağıda nesneler başlığı altında vereceğim.
Nesneler (Objects)
Nesneler, biz yukarıda araba adında sınıfımızı oluşturduk. Oluşturmuş olduğumuz bu araba sınıfının içerisinde bazı özelliklerin krokisi var. Oluşturduğumuz her araba nesnemizin modeli, rengi veya markası farklı olabilir. Bu farklı içerikleri girmek istediğimizde bize nesne yardımcı olur. Bunu örneğimizle pekiştirelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class main { public static void main(String[]args) { araba arabam = new araba();//new anahtar kelimemiz ile nesne oluşturduk. //özelliklerimizi belirttik arabam.marka="Ford"; arabam.motor_hacim =2.4; arabam.model="Transit"; arabam.renk="beyaz"; //ekran çıktılarımızı verdik System.out.println("Araç markası = " + arabam.marka); System.out.println("Araç motor hacmi = " + arabam.motor_hacim); System.out.println("Araç model = " + arabam.model); System.out.println("Araç renk = " +arabam.renk); arabam.gaz();//davranış işlemimizi gerçekleştirdik. } } |
Oluşturmuş olduğumuz bu nesnemizde ilk olarak new anahtar kelimemiz ile araba sınıfına erişmek için bir nesne oluşturduk. Oluşturmuş olduğumuz nesnemizin içerisine özelliklerimizi girdik ve davranış işlemimizi gerçekleştirdik.
Daha iyi pekiştirmek adına java’da sınıflar ve nesneler ile ilgili örnekler yapalım:
1. Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | public class Islemler { //Islemler adlı bir sınıf (class) oluşturduk //metotlarımızı yani işlemlerimizi tanımladık. //değerleri geri döndürmek için return komutunu kullandık. int topla (int n, int y) { return n+y; } int carp (int n, int y) { return n*y; } int cıkar (int n, int y) { return n-y; } public static void main(String[] args) { Islemler ıslemler1 = new Islemler ();//new anahtar kelimemiz ile nesne oluşturduk. //yapılacak olan işlemlerimizi belirttik. System.out.println("Toplama işlemi = "+ıslemler1.topla(5, 6)); System.out.println("Çarpma işlemi = "+ıslemler1.carp(5, 5)); System.out.println("Çıkarma işlemi = "+ıslemler1.cıkar(28, 8)); } } |
Ekran Çıktısı
1 2 3 | Toplama işlemi = 11 Çarpma işlemi = 25 Çıkarma işlemi = 20 |
Yaptığımız işlemler örneğinde ilk olarak “Islemler” adında sınıfımızı oluşturduk. Sonrasında içerisine gerekli olan metotlarımızı, özelliklerimizi girdik. Nesne oluştururken ise new anahtar kelimemiz ile nesnemizi oluşturduk. Ekran çıktımızı verirken gerçekleştirilecek olan işlemlerin içlerine değerlerimizi girdik.
2. Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | public class Araçlar { //Araçlar adında bir sınıf oluşturduk //özelliklerimizi oluşturduk. public String arac_sınıfı; public int agirligi; public Double motor_hacmi; public int max_hızı; public static void main(String[] args) { //new anahtar kelimemizi kullanarak nesneler oluşturduk. Araçlar otomobil = new Araçlar(); Araçlar motosiklet = new Araçlar (); //verilen özelliklerimize değerlerini atadık. otomobil.arac_sınıfı = "Otomobil"; otomobil.agirligi = 2500; otomobil.motor_hacmi = 2.0; otomobil.max_hızı = 250; motosiklet.arac_sınıfı = "Motosiklet"; motosiklet.agirligi = 300 ; motosiklet.motor_hacmi = 1000.0; motosiklet.max_hızı = 300 ; //ve ekran çıktımızı verdik System.out.println("Araçlar sınıfından türetilmiş OTOMOBİL nesnesi değerleri :"); System.out.println("Araç Sınıfı = "+otomobil.arac_sınıfı); System.out.println("Araç ağırlığı = " + otomobil.agirligi); System.out.println("Motor hacmi = " + otomobil.motor_hacmi); System.out.println("Max hızı = " + otomobil.max_hızı); System.out.println("Araçlar sınıfından türetilmiş MOTOSİKLET nesnesi değerleri"); System.out.println("Araç Sınıfı = "+ motosiklet.arac_sınıfı); System.out.println("Araç ağırlığı = " + motosiklet.agirligi); System.out.println("Motor hacmi = " + motosiklet.motor_hacmi + " CC"); System.out.println("Max hızı = " + motosiklet.max_hızı); } } |
Ekran Çıktısı
1 2 3 4 5 6 7 8 9 10 | Araçlar sınıfından türetilmiş OTOMOBİL nesnesi değerleri : Araç Sınıfı = Otomobil Araç ağırlığı = 2500 Motor hacmi = 2.0 Max hızı = 250 Araçlar sınıfından türetilmiş MOTOSİKLET nesnesi değerleri Araç Sınıfı = Motosiklet Araç ağırlığı = 300 Motor hacmi = 1000.0 CC Max hızı = 300 |
Yapmış olduğumuz 2. örnekte Araçlar adında bir sınıf oluşturduk ve oluşturduğumuz bu sınıfın içerisine araçlarla ilgili özelliklerimizi tanımladık. Sonrasında ise new anahtar kelimemizi kullanarak otomobil ve motosiklet adında nesneler oluşturduk. Oluşturduğumuz bu değerler ile “Araçlar” sınıfımızın içerisindeki özelliklere değerlerimiziatadık ve ekran çıktımızı verdik.