Pergunta

i wrote the following javascript class (factory) by this pattern: 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) {
            .....
        }
    }
};

It works as well. As you see it had few private variables & methods, and public area (SearchLinksByQuery). I need create child class, and override 3 methods : searchCurrentPageLinks, toNextPage, findNextPageLink. How can i implement this?

Foi útil?

Solução

Applying http://javascript.info/tutorial/factory-constructor-pattern#inheritance to your problem:

function LnqSub(domain) {
     var l = lnq(domain);
     l.searchCurrentPageLinks = …;
     l.toNextPage = …;
     l.findNextPageLink = …; // overwrite them
     return l;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top