Sınıf, nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır. Bir sınıftan türetilmiş bir nesne ise o sınıfın örneği olarak tanımlanır. Sınıflar genelde şahıs, yer ya da bir nesnenin ismini temsil ederler. Sınıflar methodları ile nesnelerin davranışlarını, değişkenleri ile ise nesnelerin durumlarını temsil ederler.
Sınıf, nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır. Bir sınıftan türetilmiş bir nesne ise o sınıfın örneği olarak tanımlanır. Sınıflar genelde şahıs, yer ya da bir nesnenin ismini temsil ederler. Sınıflar methodları ile nesnelerin davranışlarını, değişkenleri ile ise nesnelerin durumlarını temsil ederler.
Sınıflar hem veri yapısına hem de bir ara yüze sahiptirler. Sınıflar ile nasıl etkileşime girileceği bu ara yüzler sayesinde sağlanır. Sınıflardan bir nesne oluşturmak new kelimesi kullanılarak olur. Örneğin biz İnsanı bilgisayarın anlayabileceği şekilde tanımlamak istersek, şöyle bir yol izlemeliyiz. Her insanda ortak olan özellikleri sıralayacak olursak, örneğin insanda 2 kulak, 2 göz, 1 burun diye yazmaya başlarız. İşte bilgisayarın bunları anlayabilmesi için bu tanımlamaya değişken diyoruz, aynı zamanda insanın yapabildiği ortak davranışlar var, örneğin yürümesi, koşması, uyuması, yemek yemesi gibi davranışlara da metot diyoruz.
Yukarıdaki yaptığımız tanımlamaları kodlayacak olursak.
public class Insan
{ // Classımızın başlangıcı – Scope Başlangıcı
public String Ad =””;
public String Soyad=””;
public int kulak =2; // değişken tanımlama
public int goz =2; // değişken tanımlama
public int burun=1; // değişken tanımlama
public void YemekYe() // metot tanımlama
{ // metodumuzun başlangıcı – Scope Başlangıcı
— kodlarımızı scope içerisine yazıyoruz.
System.out.println(“insan yemek yiyor.”);
}// metodumuzun bitişi – Scope bitişi
}// classımızın bitişi – Scope Bitişi
Yukarıda yaptığımız tanımlamaları tek tek açıklayacak olursak, ilk olarak class ismimize dikkat ederseniz, türkçe karakter kullanmamalıyız, aynı zamanda class isimleri boşluk karakteri içeremez, ve rakamla başlayamaz. Classların başlangıç ve bitişine, yani scope kavramına dikkat etmeliyiz. Scope ları yukarıda gördüğümüz gibi { } bu şekilde tanımlarız. Değişkenleri tanımlarken tıpkı class larda olduğu gibi, türkçe karakter kullanmalı, boşluk bırakmamalı, ve rakamla başlatmamalıyız. Değişkenlerin sonundaki noktalı virgül işareti ; yazdığımız kodun orada bittiğini, o satırda bittiğini ifade etmektedir. Metot tanımlarken, class ve değişken tanımlamalarındaki adımlar aynen geçerli olacaktır. Class, değişken, ve metot başlarındaki public ifadesi, nesneye yönelik programlamanın önemli bir maddesi olan Encapsulation kavramının konusudur. Yani tanımladığımız class a, değişkene, metota yazdığımız programda her yerden erişmemizi sağlayan bir kavramdır. Peki biz yukarıdaki class tanımladık, peki bunu kullanmak istersek, nasıl bir yol izleyeceğiz. Bunun için bir class tan önce nesne oluşturmalıyız. Aşağıdaki tanımda bir class tan nesne oluşturma kavramını göreceksiniz.
Insan i = new Insan(); // Insan classından new diyerek yeni bir nesne oluşturduk.
Bu tanımla, yukarıda tanımlamış olduğumuz Insan classının içindeki değişkenlere ve metotlara artık erişebiliriz. Bu ne demek diyecek olursanız. i. dediğimizde
Örneğin;
i.Ad =”ibrahim”;
ifadesi oluşturduğumuz nesnenin Ad değişkenin değerini değiştirdik anlamına gelmektedir. Eşittirin (= ) sağındaki ifadeyi değişkenin değeri olarak belirle anlamını taşır. Diğer değişkenlerin değerlerini yazarak, oluşturduğumuz nesneyi tanımlamış oluruz. Tanımlamalara devam edecek olursak.
i.Soyad =”Gökyar”;
i.Kulak = 2;
i.Goz = 2;
i.Burun = 1;
oluşturduğumuz nesneyi ve değişkenlerini değerlerini ekrana yazdırmak istersek;
System.out.println(” “); metodunu kullanmamız gerekecektir.
Örneğin;
System.out.println(“Nesnenin adi:”+i.Ad +” Nesnesin Soyadi :+i.Soyad);
diyerek ekranda tanımladığımız nesnenin adını ve soyadını ekranda gösterebiliriz.
Class taki metotu çağırmak istersek, tıpkı değişkenlere değer atadığımız gibi i. diyerek metodumuzu çağırabiliriz
Örneğin;
i.YemekYe(); tanımını yaparak, YemekYe metodunu çağırabiliriz.
Şimdi yukarıdaki yazdıklarımızı eclipse ortamında bir java projesi içerisinde yazmaya başlayalım.
Eclipse te bir java projesi oluşturalım, projemizin adı ClassOrnek olsun.
İkinci adım olarak Bir class oluşturuyoruz, Class’ımızın adı Insan olacak. Proje üzerinde sağ tuş yaptıktan sonra new class seçimini yapıyoruz.
Class’ta değişkenlerimizi ve metodumuzu tanımlayalım.
Şimdi oluşturduğumuz bu class’ı kullanmaya sıra geldi. Bunun için yine bir class tanımlıyoruz, ismi Test olacak, ancak bu sefer class’ı oluştururken ekranda gördüğünüz şekilde public static void main sekmesini seçmeyi unutmayalım.
Insan class’ından bir nesne oluşturduktan sonra aşağıdaki ekranda gördüğünüz gibi noktaya bastığımız zaman, Insan class’ında tanımladığımız değişken ve metotlara erişebilir olduk.
Şimdi bu değişkenlere değer atayıp sonrada ekranda gösterelim.
Ekranda göstermek için proje üzerinde Sağ tuş yaptıktan sonra Run As dedikten sonra Java Application seçimini yaptıktan sonra aşağıdaki ekranda görüldüğü gibi oluşturduğumuz nesnenin değişkenlerinin değerlerini ve çağırdığımız metotun değerini ekranda gösteririz.