Ödünç akışı
- Java kursu
- Orta seviye
- Ders 22/116
- 6 dk
borrow ve return ile ödünç işlemlerini yazarsın.
Ödünç akışı
Dördüncü ders Loan sınıfını tanımlar. Bir ödünç, bir üyenin bir kitabı ödünç aldığını temsil eder. Loan sınıfı, Book ve Member nesnelerini bir araya getirir.
Örnek: class Loan { Book book; Member member; Loan(Book b, Member m) { book = b; member = m; } }. Bu sınıf iki nesne referansı tutar. toString metodu ödünç ilişkisini gösterir: member.name + " <- " + book.title. Ödünç akışı, kütüphanenin çekirdek işlemlerinden biridir; kitabın kimde olduğunu izler. İleride iade ve tarih eklenebilir.
Nesne referansları
Loan sınıfı ilkel türler değil, nesne referansları tutar. Book book alanı bir Book nesnesine, Member member alanı bir Member nesnesine işaret eder. Bu sayede ödünç, kitap ve üye arasındaki ilişkiyi canlı tutar.
Örnek: Book b = new Book("Java", "Gosling"); Member m = new Member("Ayşe", 101); Loan loan = new Loan(b, m);. Burada loan nesnesi b ve m'ye referans tutar. loan.member.name ile üyenin ismine, loan.book.title ile kitabın başlığına erişilir. Nesne referansları, sınıflar arası ilişkiyi sağlar.
Uygulama Loan sınıfını ekle
Dosyaya Loan sınıfını ekle. Book book ve Member member alanlarını yaz. Loan(Book b, Member m) yapıcısı ekle; her iki alanı da ata. public String toString() metodu ekle; member.name + " <- " + book.title döndürsün. Loan içine main koy; bir Book, bir Member ve bir Loan örneği oluştur, Loan örneğini yazdır.
Başlangıç kodu
class Library {
String name;
Library(String n) {
name = n;
}
public String toString() {
return "Kütüphane: " + name;
}
}
class Book {
String title;
String author;
Book(String t, String a) {
title = t;
author = a;
}
public String toString() {
return title + " - " + author;
}
}
class Member {
String name;
int id;
Member(String n, int i) {
name = n;
id = i;
}
public String toString() {
return name + " (" + id + ")";
}
}
// Loan sınıfını ekle
// book ve member alanları, yapıcı ve toString
// main içinde örnekle ve yazdırÖrnek çözüm
class Library {
String name;
Library(String n) {
name = n;
}
public String toString() {
return "Kütüphane: " + name;
}
}
class Book {
String title;
String author;
Book(String t, String a) {
title = t;
author = a;
}
public String toString() {
return title + " - " + author;
}
}
class Member {
String name;
int id;
Member(String n, int i) {
name = n;
id = i;
}
public String toString() {
return name + " (" + id + ")";
}
}
class Loan {
Book book;
Member member;
Loan(Book b, Member m) {
book = b;
member = m;
}
public String toString() {
return member.name + " <- " + book.title;
}
public static void main(String[] args) {
Book b = new Book("Java", "Gosling");
Member m = new Member("Ayşe", 101);
Loan loan = new Loan(b, m);
System.out.println(loan);
}
}Beklenen çıktı
Ayşe <- Java
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Loan yapıcısını tamamla
class Loan {
Book book;
Member member;
____(Book b, Member m) {
book = b;
member = m;
}
}
class Loan {
Book book;
Member member;
Loan(Book b, Member m) {
book = b;
member = m;
}
}
Açıklama: Yapıcı ismi sınıf ismiyle aynı olmalı.
2 Loan bölümlerini eşle
| Kavram | Anlamı |
|---|---|
Book book |
Kitap referansı |
Member member |
Üye referansı |
Loan(Book b, Member m) |
Yapıcı |
member.name |
Üye ismine erişim |
3 Loan sınıfı hangi iki nesneyi birleştirir?
- Book ve Book
- Book ve Member Doğru cevap
- Member ve Library
- Library ve Book
Açıklama: Book ve Member — ödünç, kitap ve üyeyi ilişkilendirir.