![]() |
Проблема с классами
Доброго времени суток. Я относительно недавно начал изучать этот пректасный язык. Какие-то моменты получилось быстро освоить, а вот некоторые... ближе к сути. У меня был класс по построению линий на графике. Но возникли проблемы с тем, с некоторых пор вылетала ошибка при компиляции, ссылаясь на что-то там превышение в 32 kb. Класс требовалось дорабатывать дальше и мне пришлось разбить его на 2 класса, один из которых наследует второй. Проблема вроде решилась. Помимо наклонных линий мне требовались еще горизонтальные и вертикальые. Т.к они отличаются, подумал я - сделаю ка n класов под каждые различные линии, а те два что были (один разделенный) бдут основой для этих двух.
получилось типа: A | B / \ C D Вот AB это классы которые я сделал из одного, и содержат основные методы для построения линий а C и D - собственно для различия линий. Далее создал по экземпляру С и D классов соответственно. И вот у меня ступор. Как тока я меняю свойства экземпляра C - у меня то же значение оказывается у экземпляра D. И наоборот. Думая, что может я ошибся и что неправильно представлял себе взаимодействия классов построил отдельно ту же структуру и там оказалось все нормально - у каждого экземпляра свои отдельные значения. А тут - прямо головой бъюсь. Вопрос - в чем может быть проблема и где мне имеет смысл посмотреть или кто уже сталкивался. Подозрение что это просто из-за элементарного незнания простых вещей. Кто-нибудь!! Буду очень признателен. Код не выкладываю т.к. исходник заковыристый как муравейник, но если без него никак - я конечно предоставлю. Заранее спасибо. |
Не видя кода, наверняка не скажешь. Возможно, вы объект или массив в суперклассе проинициализировали вне конструктора или метода.
|
А подобные штуки возможны из-за того если я из одного экземпляра обращаюсь к другому7 Т.е. в классе есть свойство, хранящая имена экземпляров, экземпляры я делаю глобальными. А потом в методе класса прописываю обращение по имени к одному глобальному экземпляру, находять при этом в вызове от другого7 Может это вызвать ошибку7
|
Название темы не отражает сути вопроса.
|
| Часовой пояс GMT +4, время: 22:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.