//OOP //objektum literál let car = { name: "Fiat", model: 500, start: function(){ return "Az autó elindult."; }, drive: function(){ return "Az autó megy."; } } console.log(car.drive()); let ember = { nev: "Példa Péter", email: "pelda.peter", emailKiiras: function(email){ return `${this.email}@${email}.com`; } } console.log(ember.emailKiiras("gmail")); class Szemely{ //privát mező #nev; constructor(nev, kor){ //# kell a változó neve elé this.#nev = nev; this.kor = kor; } get nev(){ return this.#nev; } set nev(ujNev){ this.#nev = ujNev; } ihat(){ if (this.kor >= 18){ return `Ihatsz alkoholt!`; } return `Nem ihatsz alkoholt!`; } } let szemely1 = new Szemely("Szabó Márton", 19); console.log(szemely1); console.log(szemely1.nev); class Szemely2{ nev = "Sanyi"; kor = 12; } let szemely2 = new Szemely2(); console.log(szemely2); // //programozási konvenció: '_' -al jelezzük hogy privát a mező/adat class Szemely3{ static faj = "Ember"; constructor(nev = "Ismeretlen", kor = 18){ this._nev = nev; this._kor = kor; } static udvozles(){ return "Üdözöllek!"; } } let szemely3 = new Szemely3("Szabó Márton"); console.log(szemely3); console.log(Szemely3.faj); console.log(Szemely3.udvozles()); // console.log(szemely1.ihat()); class SzuloOsztaly{ constructor(nev){ this.nev = nev; } koszontes(){ return `Szia, ${this.nev} vagyok`; } } class GyermekOsztaly extends SzuloOsztaly{ constructor(nev, kor = 15){ super(nev); this.kor = kor; } bemutatkozas(){ return `${this.koszontes()} és ${this.kor} éves`; } } let gyermek = new GyermekOsztaly("Péter", 25); console.log(gyermek.bemutatkozas()); let gyerkoc = new GyermekOsztaly("Valaki"); console.log(gyerkoc.bemutatkozas()); class Allat { constructor(nev){ this.nev = nev; } hangotAd(){ return "Állathang"; } } class Kutya extends Allat{ hangotAd(){ return "Vau!"; } } class NémetJuhász extends Kutya { koszont(){ return `${this.nev} a kutya azt mondja: ${this.hangotAd()}`; } } let kutya = new NémetJuhász("Rex"); console.log(kutya.koszont()); // FELADAT class Szemely_F{ //privát mező #nev; constructor(nev, kor){ //# kell a változó neve elé this.#nev = nev; this.kor = kor; } get nev(){ return this.#nev; } set nev(ujNev){ this.#nev = ujNev; } ihat(){ if (this.kor >= 18){ return `Ihatsz alkoholt!`; } return `Nem ihatsz alkoholt!`; } }