87 lines
2.2 KiB
JavaScript
87 lines
2.2 KiB
JavaScript
|
class Termek {
|
||
|
constructor(nev, ar, mennyiseg, azonosito) {
|
||
|
this.nev = nev
|
||
|
this.ar = ar
|
||
|
this.mennyiseg = mennyiseg
|
||
|
this.azonosito = azonosito
|
||
|
}
|
||
|
|
||
|
adatok() {
|
||
|
return `A termék neve ${this.nev}, a termék ára ${this.ar}, a termék mennyisége ${this.mennyiseg} és azonosítója ${this.azonosito}`
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Elelmiszer extends Termek {
|
||
|
static elelmiszerSzam = 0
|
||
|
constructor(nev, ar, mennyiseg, azonosito, szavatossagiIdo) {
|
||
|
super(nev, ar, mennyiseg, azonosito)
|
||
|
this.szavatossagiIdo = szavatossagiIdo
|
||
|
Elelmiszer.elelmiszerSzam++
|
||
|
}
|
||
|
|
||
|
adatok() {
|
||
|
return `${super.adatok()}, valamint a szavatossági idő ${this.szavatossagiIdo}`
|
||
|
}
|
||
|
|
||
|
osszesElelmiszer() {
|
||
|
return Elelmiszer.elelmiszerSzam
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class ElektronikaiTermek extends Termek {
|
||
|
static elektronikaSzam = 0
|
||
|
constructor(nev, ar, mennyiseg, azonosito, garancia) {
|
||
|
super(nev, ar, mennyiseg, azonosito)
|
||
|
this.garancia = garancia
|
||
|
ElektronikaiTermek.elektronikaSzam++
|
||
|
}
|
||
|
|
||
|
adatok() {
|
||
|
return `${super.adatok()}, valamint a garancia időtartama ${this.garancia}.`
|
||
|
}
|
||
|
|
||
|
osszesElektronikaiTermek() {
|
||
|
return ElektronikaiTermek.elektronikaSzam
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Raktar {
|
||
|
constructor(termekek) {
|
||
|
this.termekek = termekek
|
||
|
}
|
||
|
|
||
|
hozzaadTermek(termek) {
|
||
|
this.termekek.push(termek)
|
||
|
}
|
||
|
|
||
|
eltavolitTermek(azonosito) {
|
||
|
this.termekek.forEach(element => {
|
||
|
if (element.azonosito == azonosito) {
|
||
|
this.termekek.splice(element)
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
keszletKimutatas() {
|
||
|
this.termekek.forEach(element => {
|
||
|
console.log(element.adatok());
|
||
|
})
|
||
|
console.log(this.termekek.length);
|
||
|
}
|
||
|
|
||
|
keresettTermek(nev) {
|
||
|
this.termekek.forEach(element => {
|
||
|
if (element.nev == nev) {
|
||
|
element.
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
const raktar1 = new Raktar([])
|
||
|
const elektronikaiTermek1 = new ElektronikaiTermek("Monitor", "85.000 Ft", 2, 1, "2 év")
|
||
|
raktar1.hozzaadTermek(elektronikaiTermek1)
|
||
|
console.log(raktar1.termekek);
|
||
|
raktar1.keszletKimutatas()
|