Frontend/24_11_04/script.js
szabomarton 8d899f9d76 asd
2024-11-05 13:11:18 +01:00

179 lines
3.2 KiB
JavaScript

//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{
constructor(nev, kor){
this.nev = nev;
this.kor = kor;
}
bemutatkozas(){
return `Szia ${this.nev} vagyok ${this.kor} éves`;
}
}
class Diak extends Szemely_F{
static diakSzam = 0;
constructor(nev, kor, osztaly){
super(nev, kor);
Diak.diakSzam++;
this.osztaly = osztaly;
}
bemutatkozas(){
return `Szia ${this.nev} vagyok ${this.kor} éves és a ${this.osztaly} osztályba járok`;
}
static diakokSzama(){
return Diak.diakSzam;
}
}
let digi = new Diak("Szabó Márton", 19, "13.B");
console.log(digi);
console.log(Diak.diakokSzama());
console.log(digi.bemutatkozas());
let vitix = new Diak("Vitányi Krisztián", 19, "13.B");
console.log(vitix);
console.log(Diak.diakokSzama());
console.log(vitix.bemutatkozas());