98 lines
2.6 KiB
JavaScript
98 lines
2.6 KiB
JavaScript
class Termek{
|
|
constructor(nev, ar, mennyiseg, azonosito){
|
|
this.nev = nev;
|
|
this.ar = ar;
|
|
this.mennyiseg = mennyiseg;
|
|
this.azonosito = azonosito;
|
|
}
|
|
|
|
adatok(){
|
|
return `Név: ${this.nev}\nÁr:${this.ar}\nMennyiség: ${this.mennyiseg}\nAzonosító: ${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 `Név: ${this.nev}\nÁr:${this.ar}\nMennyiség: ${this.mennyiseg}\nAzonosító: ${this.azonosito}\nSzavatossági idő: ${this.szavatossagiIdo}`;
|
|
}
|
|
|
|
static 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 `Név: ${this.nev}\nÁr:${this.ar}\nMennyiség: ${this.mennyiseg}\nAzonosító: ${this.azonosito}\nGarancia: ${this.garancia}`;
|
|
}
|
|
|
|
static osszesElektronikaiTermek(){
|
|
return ElektronikaiTermek.elektronikaSzam;
|
|
}
|
|
}
|
|
|
|
class Raktar{
|
|
constructor(termekek){
|
|
this.termekek = termekek;
|
|
}
|
|
|
|
hozzaadTermek(termek){
|
|
this.termekek.push(termek);
|
|
}
|
|
|
|
eltavolitTermek(azonosito){
|
|
for (let index = 0; index < this.termekek.length; index++) {
|
|
if (this.termekek[index].azonosito == azonosito){
|
|
this.termekek = removeItem(this.termekek, this.termekek[index]);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
keszletKimutatas(){
|
|
this.termekek.forEach(element => {
|
|
console.log(element.adatok());
|
|
});
|
|
}
|
|
|
|
keresTermek(nev){
|
|
for (let index = 0; index < this.termekek.length; index++) {
|
|
if (this.termekek[index].nev == nev){
|
|
console.log(this.termekek[index].adatok());
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
function removeItem(array, itemToRemove) {
|
|
let index = array.indexOf(itemToRemove);
|
|
|
|
let newArr = index !== -1 ?
|
|
[...array.slice(0, index), ...array.slice(index + 1)] : fruits;
|
|
|
|
return newArr;
|
|
}
|
|
|
|
let iphone = new ElektronikaiTermek("IPHONE", 160000, 1, 120, 2);
|
|
let alma = new Elelmiszer("alma", 150, 500, 420, 2);
|
|
|
|
let array = new Array(iphone, alma);
|
|
|
|
let raktar = new Raktar(array);
|
|
raktar.keszletKimutatas(); |