Пишу на Javascript, но опыта и знаний маловато.
Задача сделать универсальный объект список со своими методами работы с элементами,
но иметь при этом возможность эти методы переопределять при задании произвольных типов для элемента.
Ниже условный (псевдо) код для иллюстрации задачи.
// определяем объект списка и метод добавления элемента
var list_obj = function(typeOfItem){
var self = this;
self.itemType = typeOfItem;
self.list = [];
self.add = function (item){
self.list.push(item);
}
// вот тут видимо не хватает кода для связки (переопределения) метода .add из определения объекта списка
}
// определяем произвольный тип элемента списка
var item_obj = function(){
var self = this;
// ф-я добаления элемента в список
self.add = function(item){
self.list.push('custom_'+item);
// вот тут проблема, т.к. self.list должен ссылаться на метод .list из того объекта,
// для которого используется этот тип элементов
}
}
var myList = new list_obj(item_obj);
myList.add('test');
// по задумке должен сработать метод .add определенный в типе элемента:
// должно получиться myList = ['custom_test'];
P.S. Очень надеюсь, что объяснил доходчиво.