Страница: 1 |
Вопрос: Классы | Добавлено: 05.11.06 13:51 |
Автор вопроса: ![]() |
Еще есть темка, над которой ломаю голову..Есть задание создать класс List, предоставляющий хранение списка обьектов, операции по добавлению объектов и доступа к ним, и имеющий событие Changed, которое вознивает при изменении размера списка..Что-то я искал в нете, но не нашел такое..Посдкажите, как это сделать..Просто поверхностно, что использовать и какой код.. |
Ответы | Всего ответов: 7 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 247906854 Вопросов: 133 Ответов: 882 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 05.11.06 14:21 |
какой язык-то хоть?
если ООПэшный, то наследуй стандартный список, оверрайдь (перегружай, что ли?) методы add, remove,clear и добавляй в них вызов события. если не ООПэшный, то создаёшь класс, в нём массив элементов или коллекция, те же методы add,remove,clear (только уже твои собственные) и вызов в них события Changed. только, наверное, зря это всё: список, это вещь не умеющая изменяться сама собой - это делается из кода, использующего этот список, так что достаточно в этом коде, во всех местах, где происходит изменение списка (если много, то можно создать подпроцедуры AddToList, RemoveFromList, ClearList) вызывать желаемую процедуру и обойтись обычным list'ом. хотя конечно от конкретных условий зависит. поверхностно всё... |
Номер ответа: 2 Автор ответа: ![]() ![]() Вопросов: 55 Ответов: 1008 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 05.11.06 14:27 |
Это на VB6?
Ну здесь два варианта: 1)Создать ActiveX Control, поместив на него ListBox и объявив это событие. 2)Потруднее, но если нужен именно класс,то ... В модуле класса програмно вызвать listbox, и также raiseevent [это событие] ![]() Подробнее надо? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 304238252 Вопросов: 52 Ответов: 927 |
Профиль | Цитата | #3 | Добавлено: 05.11.06 14:52 |
В модуле класса програмно вызвать listbox извращенский метод какой-то ![]() если ООПэшный, то наследуй стандартный список, кстать не обязательно, мона обойтись и обычным массивом
перегружай, что ли? неа,
Overridden properties and methods are used to replace an inherited property or method that is not appropriate in a derived class. Overridden members must accept the same data type and number of arguments. Derived classes inherit overridden members.
Overloaded members are used to provide different versions of a property or method that have the same name, but that accept different number of parameters, or parameters with different data types. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 60 Ответов: 808 |
Профиль | Цитата | #4 | Добавлено: 05.11.06 15:45 |
в классе
private mList() as variant private mListCnt as long public property get Item(byval Index as long) as variant item=mlist(index) end property public property let Item(Byval Index as long,vData as variant) mlist(index)=vdata end property private sub Add(n as variant) redim mlist(mlistcnt) mlist(mlistcnt)=n mlistcnt=mlistcnt+1 end sub и тому подобное.... Или можно через Collection. Все зависит от того List чего ты собрался сделать. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #5 | Добавлено: 05.11.06 21:06 |
пусть объяснит сначала подо что он пишет |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 7 |
Профиль | Цитата | #6 | Добавлено: 05.11.06 23:11 |
Мне надо под Vb.Net |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 7 |
Профиль | Цитата | #7 | Добавлено: 05.11.06 23:17 |
А мне интересно только как можно создать событие Changed..Никак не найду нигде.. |
Страница: 1 |
|