CodeBlanks Logo Icon CodeBlanks

Sepet tasarımı

Alışveriş sepeti için sınıf yapısını tasarlarsın.

Sepet tasarımı

Bu projede bir alışveriş sepeti uygulaması adım adım kuracağız. İlk adım, sepetteki ürünleri tutacak Cart sınıfını tasarlamaktır. JavaScript'te ilgili veriyi ve davranışı bir çatı altında toplamak için class kullanılır; sınıf ayrıntısını ileriki seviyede göreceksin.

Bir sepette eklenen ürünleri tutan items adında bir dizi olur. constructor metodu sınıftan yeni bir nesne yaratıldığında çalışır ve items'ı boş dizi olarak başlatır. Yazım: class Cart { constructor() { this.items = []; } }. this, o anki nesneyi işaret eder.

this ve nesne alanları

Sınıf içinde this, o anki nesneyi işaret eder. this.items yazımı, o nesnenin items alanına erişir. Her new Cart() çağrısı ayrı bir nesne yaratır; her birinin kendi items dizisi olur.

Bir alanı constructor içinde tanımlamak, o sınıftan yaratılacak tüm nesnelerin o alana sahip olmasını sağlar. Örneğin const c1 = new Cart(); const c2 = new Cart(); çağrısı iki ayrı sepet yaratır; c1.items ve c2.items birbirinden bağımsızdır. Bu yüzden this kullanımı zorunludur.

Uygulama Cart sınıfını tanımla

Bir Cart sınıfı tanımla: constructor metodu içinde this.items = [] ile items dizisini boş başlat. main kısmı zaten bir sepet yaratıp sepet hazır yazdırıyor; sen yalnızca sınıfı tanımla. Çıktı tek satırda sepet hazır olmalı.

Başlangıç kodu

index.js
// Cart sınıfını buraya tanımla

// Test
const cart = new Cart();
console.log("sepet hazır");

Örnek çözüm

index.js
class Cart {
    constructor() {
        this.items = [];
    }
}

// Test
const cart = new Cart();
console.log("sepet hazır");

Beklenen çıktı

sepet hazır

Soru ve cevaplar

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

1 constructor ne zaman çalışır?

index.js
class Cart { constructor() { ... } }
const c = new Cart();
  • Sınıf tanımlanırken
  • Program sonunda
  • addItem çağrılınca
  • new Cart() çağrılınca Doğru cevap

Açıklama: constructor, new Cart() ile yeni nesne yaratılınca çalışır.

2 constructor gövdesini yaz

Soru
class Cart {
    constructor() {
        ____;
    }
}
Cevap
class Cart {
    constructor() {
        this.items = [];
    }
}

Açıklama: this.items = [] items dizisini boş başlatır.

3 Parçayı işleve eşle

Kavram Anlamı
class Cart Sınıf bildirimi
constructor() İlk kurulum
this.items Nesne alanı
new Cart() Nesne yaratır

Başlangıç bölümündeki tüm dersler