Odak modu
Nesne Oluşturma
Sınıflar nesneleri tarif eden şablonlardı. Nesneler ise bu şablonlardan üretilen fiziksel yapılardır. Her üretilen nesne Hesap Hafıza Bölgesi'nde tutulur. Böylece sınıftan fiziksel karşılığı olan bir yapı elde etmiş oluruz. Sınıftan onlarca, yüzlerce nesne yaratabiliriz. Hepsi de hafıza başka adresleri gösterirler.
public class Car {
// nitelikler
String type;
String model;
String color;
int speed;
// davranışlar
int increaseSpeed(int increment) {
speed += increment;
return speed;
}
int decreaseSpeed(int decrease) {
if (speed > 0) {
speed -= decrease;
}
return speed;
}
void printSpeed() {
System.out.println("Speed : " + speed);
}
// ...
}
Java'da nesne üretmek için kullanılan sözdizimi :
ClassName object = new ClassName();
Car sınıfına ait örnek nesne oluşturma :
Car audi = new Car();
Car bmw = new Car();
Car mercedes = new Car();
Yukarıdaki örnekte "Car" sınıfına ait 3 tane farklı nesne ürettik. Bu nesnelerin her birinin nitelikleri farklı olmakla beraber hafızada ayrı ayrı yer kaplamaktadırlar.
Sınıflara ait niteliklere erişim sağlamak için nokta (.) kullanılır. İlgili nesnenin ismini sonuna nokta koyularak erişilmek istenilen niteliğin ismi yazılır.
public class Main {
public static void main(String[] args) {
Car audi = new Car();
audi.speed = 10;
System.out.println("Audi Hızı : " + audi.speed);
Car bmw = new Car();
bmw.speed = 25;
System.out.println("Bmw Hızı : " + bmw.speed);
Car mercedes = new Car();
mercedes.speed = 30;
System.out.println("Mercedes Hızı : " + mercedes.speed);
}
}
Programın çıktısı :
Audi Hızı : 10 Bmw Hızı : 25 Mercedes Hızı : 30
Sınıfa ait davranışlara yani metotlara erişmek için nokta (.) kullanılır. İlgili nesnenin ismini sonuna nokta koyularak erişilmek istenilen metodun ismi yazılır ve var ise parametreleri girilir.
public class Main {
public static void main(String[] args) {
Car audi = new Car();
audi.speed = 10;
audi.increaseSpeed(20);
audi.printSpeed();
Car bmw = new Car();
bmw.increaseSpeed(10);
bmw.increaseSpeed(25);
bmw.increaseSpeed(5);
bmw.decreaseSpeed(25);
bmw.printSpeed();
Car mercedes = new Car();
mercedes.speed = 20;
mercedes.printSpeed();
}
}
Programın çıktısı :
Speed : 30 Speed : 15 Speed : 20
Sektörde en çok aranan yazılım becerilerini kazan
Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.
Yunus Emre Kabakcı
Patika+ mezunuPatika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,
3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!
“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“
Yorum yapabilmek için derse kayıt olmalısın!