Sepet tasarımı
- Node.js kursu
- Başlangıç
- Ders 48/116
- 6 dk
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
// Cart sınıfını buraya tanımla
// Test
const cart = new Cart();
console.log("sepet hazır");Örnek çözüm
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?
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
class Cart {
constructor() {
____;
}
}
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 |