Sınıf Nedir? (What Is a Class ?)
Gerçek dünyada, sık sık aynı türden pek çok nesne bulursunuz. Tamamı aynı biçim ve markada olan binlerce başka bisiklet olabilir. Her bir bisiklet aynı plan setinden yapılmıştır ve bu nedenle benzer bileşenleri içerir. Nesne Yönelimli terimlerde, bisikletiniz, bisiklet olarak bilinen nesneler (objects) sınıfının (class) bir örneğidir (an instance). Bir sınıf, birbirinden ayrı nesnelerin oluşturulduğu taslaktır (blueprint) .
Aşağıdaki bisiklet sınıfı, bir bisikletin olası uygulamasıdır:
class Bicycle {
int cadence = 0; //ritim
int speed = 0; //hız
int gear = 1; //vites
void changeCadence(int newValue) { //ritim değiştir
cadence = newValue;
}
void changeGear(int newValue) { //vites değiştir
gear = newValue;
}
void speedUp(int increment) { //hız arttır
speed = speed + increment;
}
void applyBrakes(int decrement) { //fren uygula
speed = speed - decrement;
}
void printStates() { //durumları yazdır
System.out.println("cadence:" +
cadence + " speed:" +
speed + " gear:" + gear);
}
}
Java programla dilinin söz dizimine siz yeni bakacaksınız ama bu sınıfın tasarımı, önceki bisiklet nesneleri bölüme dayanmaktadır. Önceki bölüme (Java’da Nesne Nedir?) gitmek için tıklayınız. Ritim (cadence), hız (speed) ve vites (gear) alanları nesnenin durumunu simgeler ve metotlar (changeCadence,changeGear speedUp vb.) dış dünya ile nesnenin etkileşimini tanımlar.
Bisiklet sınıfının ana bir metot (main method) içermediğini fark etmiş olabilirsiniz. Çünkü tam bir uygulama değildir, bir uygulamada kullanılabilecek bisikletler için sadece plandır. Yeni bisiklet nesneleri oluşturma ve kullanma sorumluluğu uygulamanızdaki bazı başka sınıfa aittir.
Burada iki farklı Bisiklet (Bicycle) nesnesi oluşturan ve onların metotlarını çağıran bir BicycleDemo sınıfı örneği:
class BicycleDemo {
public static void main(String[] args) { //main metot (ana metot)
// Create two different
// Bicycle objects //iki farklı bisiklet nesneni oluşturulur.
Bicycle bike1 = new Bicyc le();
Bicycle bike2 = new Bicycle();
// Invoke methods on
// those objects //nesneler üzerinden metotlar çağırılır
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();
}
}
Bu testin çıktısı (output) iki bisiklet için son pedal ritmini, hızını ve vitesini aşağıdaki gibi yazar:
cadence:50 speed:10 gear:2
cadence:40 speed:20 gear:3,
Bu yazı Oracle Java Dökümanı kullanılarak İngilizceden Türkçeye çevrilmiştir. Sadece kaynak göstererek kullanabilirsiniz.