можно ли переопределить переменные класса словаря?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

можно ли переопределить переменные класса словаря?

Genosse

Приветствую.

У меня ещё пара вопросов к сообществу.

Каким образом можно переопределить переменные класса словаря? И вообще нужно ли так делать.


Например я смотрю на класс DateAndTime poolDictionaries которого 'ChronologyConstants'. В нём инициализированы переменные класса напр MonthNames

Предположим есть необходимость переименовать месяцы, напр банально перевести на русский, немецкий и т.п.

Как поступить?


Попробовал унаследовать от ChronologyConstants свой MyChronologyConstants и подсунуть его классу MyDate унаследованному от Date.., но не заработало. Видимо и не должно было, так как как я понимаю MyDate использует методы Date, а Date обращается к ChronologyConstants.


Еще вопрос. Можно как-то проследить родословную не класса а метода не в ручном режиме?


Положим смотрю я Timespan метод

monthName

^ start monthName


и всё ни методов других ни переменной.


Класс наследует от Magnitude там разумеется ничего похожего нет. А где искать концы?

Пока выходил из положения так (в пределах пакетов). Выгружал пакет в фаил *.st и в текстовом редакторе поиском пролистывал. Но это пакет большой и аж в глазах рябит. Ну нашёл заветное имя, но где... Посреди длиннющего текста описания какого то большого класса и скролить туда сюда утомительно теряешь итак зыбкую нить.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: можно ли переопределить переменные класса словаря?

Igor Stasenko
2013/6/14 Genosse Alex <[hidden email]>:
> Приветствую.
>
> У меня ещё пара вопросов к сообществу.
>
> Каким образом можно переопределить переменные класса словаря? И вообще нужно
> ли так делать.
>

не нужно.

Лучше использовать перевод строк, т.е. #translated method.


Date current monthName   =>> #June
Date current monthName translated   =>> 'Июнь'

DateAndTime current dayOfWeekName ==>> #Friday
DateAndTime current dayOfWeekName translated ==>> ...

(и просто добавить перевод)

в этом случае, поддержка любого другого языка обойдеться вам в "раз плюнуть"..
в отличие от создание отдельного класса для каждого языка..

>
> Например я смотрю на класс DateAndTime poolDictionaries которого
> 'ChronologyConstants'. В нём инициализированы переменные класса напр
> MonthNames
>
> Предположим есть необходимость переименовать месяцы, напр банально перевести
> на русский, немецкий и т.п.
>
> Как поступить?
>
>
> Попробовал унаследовать от ChronologyConstants свой MyChronologyConstants и
> подсунуть его классу MyDate унаследованному от Date.., но не заработало.
> Видимо и не должно было, так как как я понимаю MyDate использует методы
> Date, а Date обращается к ChronologyConstants.
>
>
> Еще вопрос. Можно как-то проследить родословную не класса а метода не в
> ручном режиме?
>
>
> Положим смотрю я Timespan метод
>
> monthName
>
> ^ start monthName
>
>
> и всё ни методов других ни переменной.
>
>
> Класс наследует от Magnitude там разумеется ничего похожего нет. А где
> искать концы?
>
> Пока выходил из положения так (в пределах пакетов). Выгружал пакет в фаил
> *.st и в текстовом редакторе поиском пролистывал. Но это пакет большой и аж
> в глазах рябит. Ну нашёл заветное имя, но где... Посреди длиннющего текста
> описания какого то большого класса и скролить туда сюда утомительно теряешь
> итак зыбкую нить.
>
> --
> --
> http://groups.google.ru/group/sugr
> ---
> Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk
> User Group.
>
> Чтобы отказаться от подписки на эту группу и перестать получать из нее
> сообщения, отправьте электронное письмо на адрес
> [hidden email].
> Настройки подписки и доставки писем:
> https://groups.google.com/groups/opt_out.
>
>



--
Best regards,
Igor Stasenko.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.