Задать вопрос

Как писать в прототипном стиле?

Здравствуйте! Поставил себе цель - написать код в чистом ооп в прототипном стиле. Я прекрасно понимаю что такое прототипы, наследование и т.д. Но как ни странно написанный мною код никоем образом мне не напомнил те прекрасные иерархии объектов, которые я видел. Вот что получилось - https://jsfiddle.net/b2om0xan/ У меня ведь не должен быть весь код одним объектом? Или должен?Можете, пожалуйста, примерно описать как должен выглядеть код, написанный в ООП? Буду безумно благодарен! Если будут примеры, то буду благодарен вдвойне.
  • Вопрос задан
  • 1182 просмотра
Подписаться 6 Простой 1 комментарий
Решения вопроса 2
@grom111
JackShcherbakov Если уж вы взялись писать код в стиле ООП, то должны понять 1 простую суть. Класс это просто описание объекта и он содержит в себе методы для управления этим объектом.

Объясню на вашем примере:
У вас есть class Table {}, в нем сохраняются методы для работы с таблицей (добавление рядков, удаление и т.д), но не штуки подобно newH1Element или output(их можно вынести в те же самые методы).

Подводя итог:
class Table {
    constructor(name, columns, rows, defaultText) {
        this.name = name;
        this.columns = columns;
        this.rows = rows;
        this.defaultText = defaultText;
    }
    save() {
        localStorage.setItem(this.name, document.getElementById("rightControlPanel").innerHTML)
    }
    add() {
        /..создаете тот же tr и т.д../
    }
    delete() {}
}
Ответ написан
Комментировать
longclaps
@longclaps
ООП - это концепция, придуманная с целью совладать со сложностью, сложностью не в смысле головоломных алгоритмов, а в смысле огромного количества сущностей и действий, т.е. строк кода.
Желание написать 20 строк на чистом ООП - это как жалание написать симфонию из трёх нот. Пельш, да и только )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект