Proje tasarımı
- Kotlin kursu
- Orta seviye
- Ders 112/116
- 6 dk
Orta seviye finali mini uygulamasının iskeletini tasarlarsın.
Proje: Kütüphane uygulaması
Bu beş derslik projede bir kütüphane konsol uygulaması kuracaksın. Her ders bir parça ekler; son derste OOP + koleksiyonlar + Flow + dosya I/O'yu birleştiren bir uygulama elde edeceksin.
Önceki gruplarda öğrendiğin data class ile veri modelleme, sealed class ile hiyerarşi, MutableList ile koleksiyon yönetimi, java.io.File ile dosya I/O ve Flow ile asenkron akış kavramlarını kullanacaksın. Birinci derste Book veri sınıfını ve format metodunu tanımlayacaksın.
Book veri sınıfı
Bir kütüphanedeki kitabı temsil etmek için data class Book tanımlayacaksın. Veri sınıfı, equals, hashCode, toString ve copy üretir. Kitabın başlığı, yazarı ve yayın yılı özellikleri olacak.
data class Book(
val title: String,
val author: String,
val year: Int
) {
fun format(): String = "$title - $author ($year)"
}format metodu, kitabı okunabilir bir dize olarak verir: Suç ve Ceza - Dostoyevski (1866). Bu, kitabı ekrana yazdırırken ve dosyaya kaydederken kullanılacak. İlerleyen dersler category özelliğini ekleyecek ve format'ı genişletecek.
Uygulama Book veri sınıfını tanımla
data class Book(val title: String, val author: String, val year: Int) tanımla. Gövdesinde fun format(): String = "$title - $author ($year)" olsun. main içinde val b = Book("Suç ve Ceza", "Dostoyevski", 1866) yapıp println(b.format()) ile yazdır.
Başlangıç kodu
// Book veri sınıfı tanımla: title (String), author (String), year (Int)
// format metodu: "{title} - {author} ({year})" döndürsün
// main: Book örneği oluştur ve format çıktısını println ile yazdır
fun main() {
// buraya yaz
}Örnek çözüm
data class Book(val title: String, val author: String, val year: Int) {
fun format(): String = "$title - $author ($year)"
}
fun main() {
val b = Book("Suç ve Ceza", "Dostoyevski", 1866)
println(b.format())
}Beklenen çıktı
Suç ve Ceza - Dostoyevski (1866)
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kütüphane projesinin ilk dersinde ne tanımlanır?
- Flow akışı
- Library sınıfı
- Book veri sınıfı Doğru cevap
- Dosya kaydetme
Açıklama: İlk ders Book veri sınıfını ve format metodunu tanımlar.
2 Veri sınıfı anahtar kelimesi
____ class Book(val title: String, val author: String, val year: Int)
data class Book(val title: String, val author: String, val year: Int)
Açıklama: data class Book ile veri sınıfı tanımlanır.
3 Book parçalarını eşle
| Kavram | Anlamı |
|---|---|
data class Book |
Veri sınıfı |
val title |
Başlık |
val year |
Yayın yılı |
format() |
Okunabilir çıktı |