Дочерний класс 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;
}