Yapıcı Metot
Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 7 / 87.
Bir constructor, new ile bir nesne oluşturduğunuzda otomatik olarak çalışan özel bir metottur. Sınıf ile aynı ada sahiptir ve dönüş türü yoktur.
Temel yapıcı
public class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
}Varsayılan yapıcı (parametresiz)
public class Book {
private String title;
public Book() {
this.title = "Unknown";
}
}Yapıcı (constructor), nesnenin durumunu başlatır
Book book = new Book("1984", "Orwell");
// Yapıcı hemen çalışır, alanlar ayarlanırEğer bir constructor yazmazsanız, Java varsayılan olarak boş bir tane sağlar. Herhangi bir constructor yazdığınızda, varsayılan olan artık otomatik olarak sağlanmaz.
Görev
OrtaTüm alanları başlatan bir yapıcı metoda (constructor) sahip bir Book sınıfı oluşturun:
- Özel (private) alanlar:
title,author(String),pages(int) - Her üç değeri de alan ve
thiskullanarak atayan bir yapıcı metot - Her alan için getter metotları
"<title> by <author> (<pages> pages)"değerini döndüren birgetSummary()metodu
Kopya kağıdı
Bir yapıcı (constructor), new ile bir nesne oluşturduğunuzda otomatik olarak çalışan özel bir metottur. Sınıf ile aynı isme sahiptir ve dönüş tipi yoktur.
Temel yapıcı (constructor):
public class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
}Varsayılan yapıcı (parametresiz):
public class Book {
private String title;
public Book() {
this.title = "Unknown";
}
}Bir nesne oluşturmak için yapıcı kullanma:
Book book = new Book("1984", "Orwell");
// Yapıcı hemen çalışır, alanlar atanırEğer bir yapıcı yazmazsanız, Java varsayılan olarak boş bir yapıcı sağlar. Herhangi bir yapıcı yazdığınızda, varsayılan olan artık otomatik olarak sağlanmaz.
Kendin dene
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String title = scanner.nextLine();
String author = scanner.nextLine();
int pages = Integer.parseInt(scanner.nextLine());
Book book = new Book(title, author, pages);
System.out.println("Title: " + book.getTitle());
System.out.println("Author: " + book.getAuthor());
System.out.println("Pages: " + book.getPages());
System.out.println(book.getSummary());
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesnelerthis Anahtar KelimesiMetotlarAlanlar (Öznitelikler)Yapıcı MetotYapıcı Metot Aşırı YüklemeÖzet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtım (extends)super Anahtar KelimesiMetot Geçersiz Kılma (@Override)Yapıcı Metot ZincirlemeObject SınıfıTekli ve Çok Seviyeli KalıtımNeden Çoklu Sınıf Kalıtımı Yok?Özet - Çalışan Hiyerarşisi7Özel Metotlar ve Object Sınıfı
toString() Metoduequals() ve hashCode()clone() MetoducompareTo() ve ComparableComparator ArayüzüÖzet - Özel Sıralama2Erişim Belirleyiciler ve Kapsülleme
Erişim Seviyelerine Genel BakışGetter ve Setter MetotlarıBilgi Gizlemefinal Anahtar KelimesiÖzet - Banka Hesabı Yöneticisi5Polimorfizm
Metot Aşırı Yükleme TemelleriMetot Geçersiz Kılma (Çalışma Zamanı)Upcasting ve Downcastinginstanceof OperatörüSoyut Sınıflar ve MetotlarÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kompozisyon vs KalıtımAgregasyon vs KompozisyonDahili, Yuvalanmış ve Anonim SınıflarEnum'lar ve Enum MetotlarıRecords (Java 16+)Sealed Classes (Java 17+)11Tasarım Kalıpları Bölüm 1
Tasarım Kalıplarına GirişSingleton KalıbıFactory KalıbıBuilder KalıbıObserver KalıbıStrategy Kalıbı14Final Meydan Okumaları
E-Öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi3Sınıf Özellikleri ve Statik Üyeler
Instance ve Statik DeğişkenlerStatik MetotlarStatik BloklarSabitler (static final)Özet - Sayaç ve Utility6Arayüzler ve Soyut Sınıflar
Arayüzlere GirişArayüzleri UygulamaÇoklu Arayüz UygulamaArayüzlerde Default ve StaticSoyut Sınıflar ve ArayüzlerFonksiyonel ArayüzlerÖzet - Ödeme Sistemi9Generics
Generics'e GirişGeneric SınıflarGeneric MetotlarSınırlandırılmış Tip ParametreleriWildcard'lar (?, extends, super)Özet - Generic Container12Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit KalıbıYineleyici Kalıbı