Frontend/24_11_05/feladat3.js
2024-11-05 13:10:33 +01:00

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();