From 884c3b9102f80f02822f94b4f74b09da5b0d674a Mon Sep 17 00:00:00 2001 From: Tunahan Erturk <89503561+tunisch@users.noreply.github.com> Date: Sat, 22 Nov 2025 14:28:57 +0300 Subject: [PATCH 1/3] Document object creation and method access in Java Added a comprehensive guide on object creation and method access in Java, including examples of class definition, object instantiation, and method invocation. --- object-method-creation.md | 108 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 object-method-creation.md diff --git a/object-method-creation.md b/object-method-creation.md new file mode 100644 index 0000000..704bb28 --- /dev/null +++ b/object-method-creation.md @@ -0,0 +1,108 @@ +# 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. + +```java +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 : + +```java +ClassName object = new ClassName(); +``` +- ClassName : Nesne oluşturmak istediğimiz sınıfı belirtiyoruz. Bu sınıf daha öncesinde projemizde tanımlanmış olması gerekmektedir. +- object : Nesnemize verdiğimiz isimdir ve aynı isimde birden fazla nesne oluşturulamaz. +- new : Java'da nesne üretmek için "new" anahtar kelimesini kullanırız. +- ClassName(); : Sınıfa ait Kurucu (Constructor) Metodu temsil eder. Varsayılan olarak parametresiz tanımlanır. +### Car sınıfına ait örnek nesne oluşturma : +```java +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ıf Niteliklerine Erişim +- 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. +```java +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ı : +```java +Audi Hızı : 10 +Bmw Hızı : 25 +Mercedes Hızı : 30 +``` + +# Sınıf Metotlarına Erişim +- 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. +```java +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ı : +```java +Speed : 30 +Speed : 15 +Speed : 20 +``` + From bfefbf0acfd1f13303eaf68316f40b6612fe596a Mon Sep 17 00:00:00 2001 From: Tunahan Turker Erturk <89503561+tunisch@users.noreply.github.com> Date: Tue, 25 Nov 2025 00:48:50 +0300 Subject: [PATCH 2/3] Expand documentation on class methods and parameters Added section on method parameters in Java, including examples. --- object-method-creation.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/object-method-creation.md b/object-method-creation.md index 704bb28..b22b8a9 100644 --- a/object-method-creation.md +++ b/object-method-creation.md @@ -105,4 +105,25 @@ Speed : 30 Speed : 15 Speed : 20 ``` +# Sinif metotlarinda (davranislarinda ) +## Davranışın parametre alıp almaması +- Java’da bir metoda parametre verip vermemek tamamen metodun tanımına bağlıdır. + - a) Parametre alan metod + ```java + void addTeacher(Teacher teacher) { // metod parametre istiyor + this.teacher = teacher; + } + ``` + - Burada metod Teacher türünde bir nesne bekliyor. + - Çağırırken parametre vermeliyiz + ```java + tarih.addTeacher(t1); // t1 burada parametre + ``` + - Eğer parametre vermezsek → hata alırız, çünkü metodun tanımı parametre istiyor. + + + + + + From 492d368bc346a1afadc62a1580aa563de041ffaf Mon Sep 17 00:00:00 2001 From: Tunahan Turker Erturk <89503561+tunisch@users.noreply.github.com> Date: Tue, 25 Nov 2025 11:41:03 +0300 Subject: [PATCH 3/3] Enhance documentation on method parameters Added explanation for methods with and without parameters. --- object-method-creation.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/object-method-creation.md b/object-method-creation.md index b22b8a9..9c35ce5 100644 --- a/object-method-creation.md +++ b/object-method-creation.md @@ -121,9 +121,28 @@ Speed : 20 ``` - Eğer parametre vermezsek → hata alırız, çünkü metodun tanımı parametre istiyor. - - + - b) Parametre almayan metod + ```java + void printInfo() { // metod parametre istemiyor + System.out.println(this.model); + } + ``` + - Bu metodun içinde gerekli tüm bilgi zaten nesnenin kendi niteliklerinde var. + - Çağırırken parametre vermeye gerek yok: + ```java + audi.printInfo(); // parantez boş çünkü metod parametre istemiyor + ``` +## 2️⃣ Formül şeklinde özet + + | Nesne | Metod | Parametre | Çağrı | Neden? | +| ------------ | ---------- | --------------- | --------------------- | -------------------------------------------------------------- | +| Course tarih | addTeacher | Teacher nesnesi | tarih.addTeacher(t1); | Metod parametre istiyor, t1’i Course nesnesine bağlamak için | +| Car audi | printInfo | Yok | audi.printInfo(); | Metod parametre istemiyor, gerekli tüm bilgi zaten nesnede var | + - + - Yani özetle: + + - Parametre isteyen metod → çağırırken parametre verirsin + - Parametre istemeyen metod → çağırırken parantez boş bırakılır