CodeBlanks Logo Icon CodeBlanks

Parametreli yapıcı

Parametre alan yapıcıyı öğrenirsin.

Parametreli yapıcı

Bir yapıcı parametre alabilir. Parametreler parantez içinde bildirilir ve gövdede kullanılır. Bu sayede örnek oluşturulurken alanlara dışarıdan değer aktarılır; elle atama yapmaya gerek kalmaz.

Örnek: class Book { String title; Book(String t) { title = t; } }. Burada Book(String t) yapıcısı bir String parametre alır. new Book("Java") çağrıldığında t parametresi "Java" olur ve title alanına atanır. Bu yöntem, örneği oluştururken değer vermeyi tek adımda bitirir; daha temiz ve güvenlidir.

Parametre ile örnekleme

Parametreli bir yapıcı çağrıldığında parantez içine değer yazılır. Değerin türü parametreyle uyuşmalıdır. Birden çok parametre varsa virgülle ayrılır ve aynı sırayla verilir.

Örnek: Book b = new Book("Java", 300);. Burada iki parametre vardır: bir dizge ve bir tamsayı. Yapıcı Book(String t, int p) şeklinde tanımlanmış olmalıdır. Parametre sırası önemlidir; önce dizge sonra tamsayı gelmelidir. Yanlış sıra derleme hatası verir.

Uygulama Book sınıfına parametreli yapıcı ekle

Book adında bir sınıf tanımla. İçine String title alanını ekle. Book(String t) yapıcısını yaz; gövdesinde title = t; ata. main içinde new Book("Java") ile bir örnek oluştur ve title alanını yazdır.

Başlangıç kodu

Main.java
// Book sınıfını tanımla
// parametreli yapıcı ekle
// main içinde örnekle ve yazdır

Örnek çözüm

Main.java
class Book {
    String title;
    Book(String t) {
        title = t;
    }
    public static void main(String[] args) {
        Book b = new Book("Java");
        System.out.println(b.title);
    }
}

Beklenen çıktı

Java

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Parametreli yapıcı bölümlerini eşle

Kavram Anlamı
Book Yapıcı ismi
String t Parametre
title = t Atama
new Book("Java") Çağrı

2 Book(String t) yapıcısı var. Hangi çağrı geçerlidir?

  • new Book();
  • new Book("Java"); Doğru cevap
  • new Book(300);
  • Book("Java");

Açıklama: New Book("Java"); — parametre bir String olmalı.

3 Parametreli yapıcı gövdesini tamamla

Soru
class Book {
    String title;
    Book(String t) {
        title = ____;
    }
}
Cevap
class Book {
    String title;
    Book(String t) {
        title = t;
    }
}

Açıklama: Parametre t, title alanına atanır.

Orta seviye bölümündeki tüm dersler