CodeBlanks Logo Icon CodeBlanks

Model tasarımı

Post ve Comment sınıflarının iskeletini tasarlarsın.

Proje: Blog uygulaması

Bu beş derslik projede bir blog uygulaması yapacaksın. Her derste bir parça ekleyecek, son derste çalışan bir mini komut satırı uygulamasını tamamlayacaksın.

Önceki gruplardaki sınıf (class), miras (inheritance) ve List kavramlarını kullanacaksın. İlk olarak bir Post sınıfı tasarlayacaksın: title ve author alanları tutan basit bir yapı. Yanına Comment sınıfını ekleyip yazılara yorum bağlayacaksın.

Comment sınıfı

Her blog yazısına yorum eklenebilmeli. Comment sınıfı da Post gibi basit bir veri taşıyıcıdır: author ve text alanları tutar. İki sınıf da POJO (Plain Old Java Object) biçiminde yazılır; alanlar package-private, yapıcı ile doldurulur.

Bu aşamada Comment'i Post'tan ayrı tutuyoruz; sonraki derste bir List<Comment> ile yazıya bağlayacağız. Şimdilik iki sınıfı yan yana tanımlamak yeterli.

Uygulama Post ve Comment sınıflarını tanımla

class Post tanımla; String title ve String author alanları ile bu alanları atayan Post(String title, String author) yapıcısı olsun. Aynı biçimde class Comment tanımla; String author ve String text alanları ile Comment(String author, String text) yapıcısı olsun. main içinde Post p = new Post("İlk yazı", "Ayşe"); ile bir yazı oluştur ve System.out.println(p.title); ile başlığı yazdır.

Başlangıç kodu

Main.java
// Post sınıfını tanımla: title, author alanları ve yapıcısı

// Comment sınıfını tanımla: author, text alanları ve yapıcısı

// main: bir Post örneği oluştur ve başlığını yazdır

Örnek çözüm

Main.java
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;
    }
}

public class Main {
    public static void main(String[] args) {
        Post p = new Post("İlk yazı", "Ayşe");
        System.out.println(p.title);
    }
}

Beklenen çıktı

İlk yazı

Soru ve cevaplar

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

1 Post sınıfının görevi nedir?

  • Kullanıcı girişini okumak
  • Yorumları silmek
  • Yazı verilerini tutmak Doğru cevap
  • Dosyaya yazmak

Açıklama: Post, bir blog yazısının title ve author gibi verilerini tutar.

2 Yapıcıyı tamamla

Soru
class Post {
    String title;
    String author;
    Post(String title, String author) {
        this.title = title;
        this.____ = author;
    }
}
Cevap
class Post {
    String title;
    String author;
    Post(String title, String author) {
        this.title = title;
        this.author = author;
    }
}

Açıklama: this.author ataması parametreyi alana kopyalar.

3 Blog projesi kavramlarını eşleştir

Kavram Anlamı
Post Yazı verisini tutar
Comment Yorum verisini tutar
title Yazı başlığı
author Yazı ya da yorum yazarı

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