Untitled

 avatar
unknown
plain_text
3 years ago
1.7 kB
6
Indexable
/*
    Pattern-ul utilizat: Prototype
    Spre exemplu avem un loc care are proprietățile și metodele sale. Noi vrem să adăugăm câteva noi metode și anume (getName(), getId(), getDescription(), getAddress(), getPhone())
    Cea mai bună metodă e să folosim pattern-ul prototype, care ne permite foarte ușor să facem acest lucru.
*/

function Place(id, name, description, address, phone){
    this.id = id;
    this.name = name;
    this.description = description;
    this.address = address;
    this.phone = phone;
    
    this.getPlace = () => {
        return {
            id: this.id,
            name: this.name,
            description: this.description,
            address: this.address,
            phone: this.phone
        }
    }
}

// În JS asta deja este impelementat

Place.prototype.getName = function() {
    return this.name;
}
Place.prototype.getId = function() {
    return this.id;
}
Place.prototype.getDescription = function() {
    return this.description;
}
Place.prototype.getAddress = function() {
    return this.address;
}
Place.prototype.getPhone = function() {
    return this.phone;
}


var place1 = new Place(1, 'first place', 'first description', 'first address', '+373 670 23 199')
var place2 = new Place(2, 'seccond place', 'seccond description', 'seccond address', '+373 670 73 736')
var place3 = new Place(3, 'third place', 'third description', 'third address', '+373 670 94 777')

console.log(place1.getId());
console.log(place1.getName());
console.log('--------------');
console.log(place2.getName());
console.log(place2.getPhone());
console.log('--------------');
console.log(place3.getId());
console.log(place3.getDescription());
Editor is loading...