179 lines
3.2 KiB
JavaScript
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()); |