Я пытаюсь создать общий класс List, который будет иметь:
- Свойство: Элементы - это будет массив "что-никогда"
- Метод: Добавить() - который будет абстрактным и реализован конкретным объектом "Список"
- Метод: Count() - который возвращает количество элементов
а затем создайте подклассы, которые наследуются от "List"
//Class 'List'
function List(){
this.Items = new Array();
this.Add = function(){ alert('please implement in object') }
}
//Class CDList - which inherits from 'List'
function CDList(){
this.Add = function(Artist){
this.Items.push(Artist)
}
}
CDList.prototype = new List();
CDList.prototype.constructor = CDList;
//Create a new CDList object
var myDiscs = new CDList();
myDiscs.Add('Jackson');
myDiscs.Count() <-- this should be 1
//Create a second CDList object
var myDiscs2 = new CDList();
myDiscs2.Add('Walt');
myDiscs2.Add('Disney');
myDiscs2.Count() <-- this should be 2
.. но это, похоже, создает общий список "Items" для всех экземпляров "CDList". Мне нужно как-то добавить новый унаследованный экземпляр списка "Items" для каждого экземпляра "CDList".
Как я могу это сделать?
* Я использую в этом примере список "Items" в качестве примера. Я бы хотел иметь в своих подклассах новый экземпляр для любого типа унаследованного свойства - не обязательно объект Array.
Спасибо, ребята!