Показать сообщение отдельно
  #4 (permalink)  
Старый 29.08.2019, 14:41
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Про Гость не сказано что должно быть скрытым. Запомни, глагол это метод, а не свойство.
function User(name, date) {
    this.name = name;
    this.date = date;
}
User.prototype.getInfo = function() {
    return 'Name: "' + this.name + '" Date: "' + this.date + '"';
};

function Admin(name, date, rootAdmin) {
    User.call(this, name, date);
    this.isRootAdmin = function () {
        return rootAdmin;
    };
}
Admin.prototype = Object.create(User.prototype);
Admin.prototype.constructor = Admin;
Admin.prototype.getInfo = function() {
    return User.prototype.getInfo.call(this) + ' rootAdmin: ' + this.isRootAdmin();
};

function Guest(name, date) {
    User.call(this, name, date);
    this.validDate = new Date(date.getTime());
    this.validDate.setDate(date.getDate() + 7);
}
Guest.prototype = Object.create(User.prototype);
Guest.prototype.constructor = Guest;
Guest.prototype.getInfo = function() {
    return User.prototype.getInfo.call(this) + ' validDate: "' + this.validDate + '"';
};

var user = new User('User1', new Date(2019, 7, 20));
alert(user.getInfo());
var admin = new Admin('Admin1', new Date(2019, 7, 25), true);
alert(admin.getInfo());
var guest = new Guest('Guest1', new Date);
alert(guest.getInfo());

Последний раз редактировалось Rise, 29.08.2019 в 14:51.
Ответить с цитированием