Дочерний класс javascript и переопределение метода

Я написал следующий класс javascript (фабрика) по этому шаблону: http://javascript.info/tutorial/factory-constructor-pattern

var lnq = function(domain) {

    var ...;

    var testLink = function(href) {
      ....
    };

    var addAllLinks = function(links) {
        ...
    };

    var normalize = function(links) {
        ...
    };

    var searchAllLinks = function(address, callback) {
        ....
    };

    var buildAddress = function(query) {
        ....
    };

    var searchCurrentPageLinks = function() {
        ....
    };

    var toNextPage = function() {
        ....
    };

    var findNextPageLink = function() {
        ....
    };

    // public interface
    return {

        // search all links by query
        searchLinksByQuery: function(query, callback) {
            .....
        }
    }
};

Это работает также. Как вы видите, у него было мало личных переменных и методов, а также публичная область (SearchLinksByQuery). Мне нужно создать дочерний класс и переопределить 3 метода: searchCurrentPageLinks, toNextPage, findNextPageLink. Как я могу это реализовать?

1 ответ

Решение

Применение http://javascript.info/tutorial/factory-constructor-pattern к вашей проблеме:

function LnqSub(domain) {
     var l = lnq(domain);
     l.searchCurrentPageLinks = …;
     l.toNextPage = …;
     l.findNextPageLink = …; // overwrite them
     return l;
}
Другие вопросы по тегам