Yorum ekleme
- Java kursu
- Orta seviye
- Ders 67/116
- 6 dk
addComment ile yorumsal akışı yazarsın.
Post'a yorum bağlama
Blog yazılarına yorum eklemek için Post sınıfına List<Comment> comments alanı ekleriz. Böylece her yazı kendi yorumlarını taşır. addComment(Comment c) metodu listeye yeni yorum ekler.
Bu tasarımda Post ve Comment arasında composition ilişkisi vardır: bir Post, Comment'lerden oluşur. Comment, Post'tan bağımsız bir sınıf olarak kalır; tek bir Comment birden fazla Post'ta yeniden kullanılabilir.
addComment metodu
addComment metodu addPost'a benzer şekilde çalışır: comments.add(c); ile yorumu listeye ekler. Çağırmak için post.addComment(new Comment(...)) yazarsın. Yorum, yalnızca ilgili Post'un listesine eklenir; başka yazılar etkilenmez.
Her Post kendi yorum listesini tuttuğu için iki ayrı yazıya eklenen yorumlar karışmaz. post.comments.size() ile yazının yorum sayısını öğrenebilirsin. Bu, composition'ın doğal sonucudur.
Uygulama Post'a comments alanı ve addComment ekle
Üstteki Post sınıfına List<Comment> comments = new ArrayList<>(); alanı ekle ve void addComment(Comment c) metodu comments.add(c); içersin. main içinde bir Post p = new Post("İlk", "Ayşe"); oluştur, p.addComment(new Comment("Mehmet", "Güzel")); ile bir yorum ekle ve System.out.println(p.comments.size()); ile yorum sayısını yazdır.
Başlangıç kodu
import java.util.List;
import java.util.ArrayList;
class Post {
String title;
String author;
Post(String title, String author) {
this.title = title;
this.author = author;
}
}
class Comment {
String author;
String text;
Comment(String author, String text) {
this.author = author;
this.text = text;
}
}
// Post sınıfına comments alanı ve addComment metodu ekle
// main: bir Post oluştur, bir yorum ekle ve sayıyı yazdırÖrnek çözüm
class Post {
String title;
String author;
List<Comment> comments = new ArrayList<>();
Post(String title, String author) {
this.title = title;
this.author = author;
}
void addComment(Comment c) { comments.add(c); }
}
class Comment {
String author;
String text;
Comment(String author, String text) {
this.author = author;
this.text = text;
}
}
public class Main {
public static void main(String[] args) {
Post p = new Post("İlk", "Ayşe");
p.addComment(new Comment("Mehmet", "Güzel"));
System.out.println(p.comments.size());
}
}Beklenen çıktı
1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Post-Comment ilişkisi ne tür bir ilişkidir?
- Composition (birlik) Doğru cevap
- Miras (inheritance)
- Bağımlılık (dependency)
- Soyutlama (abstraction)
Açıklama: Post, Comment'lerinden oluşur; composition ilişkisidir.
2 Post-Comment ilişkisini eşleştir
| Kavram | Anlamı |
|---|---|
composition |
Post, Comment'lerini içerir |
List<Comment> |
Yorum koleksiyonu türü |
addComment |
Yorum ekler |
comments.size() |
Yorum sayısı |
3 Yorum ekleme çağrısını tamamla
p.add____(new Comment("Mehmet", "Güzel"));
p.addComment(new Comment("Mehmet", "Güzel"));
Açıklama: addComment metodu listeye yeni yorum ekler.