class ile object arasındaki ilişkiyi anlatan java örnegi
Bisiklet sınıfı tanımlanıyor, 3 adet baslangıc özelligi veriliyor ve fonksiyonlar belirtiliyor.
class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
void changeGear(int newValue) {
gear = newValue;
}
void speedUp(int increment) {
speed = speed + increment;
}
void applyBrakes(int decrement) {
speed = speed - decrement;
}
void printStates() {
System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
}
}
Daha sonra 2 adet Bycycle sınıfından bike1 ve bike2 adında bisiklet objesi(nesnesi) oluşturuluyor.
class BicycleDemo {
public static void main(String[] args) {
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
// Invoke methods on those objects
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();
}
}
Kısacası sınıflarla özellikleri tanırsınız. Mesela otomobil'in standart özellikleri vardır. 4 tekeri olması, vitesi, motoru gibi. Fakat birbirlerinden ayrılan özellikleri bunların üstüne oluşur. Birinin lastiği kaliteli, motoru v8 olabilir. Diğeri ise normal bir lastik v4 motor olabilir.
İşte nesne farkı budur. Yani standart gelen şeyler üzerine spesifik tanımlar katmak ve bunları kullanmak.