|
|
|
| Допустим у меня написано 2 класса (условно назовем их class1 и class2), написаны они в разных файлах, оба инклудятся в один файл, который в свою очередь инклудится в исполняемые файлы. В классе class2 у меня есть метод method(), в котором необходимо применить метод globalMethod() из класса class1. Возможно ли это сделать, не описывая метод globalMethod() в классе class2? | |
|
|
|
|
|
|
|
для: Lelik
(05.03.2008 в 21:45)
| | Если ничего не путаю, то надо сделать globalMethod() публичным, а class2 "природнить" что ли к class1 (забыл как это называется :) ) | |
|
|
|
|
|
|
|
для: DEM
(05.03.2008 в 23:08)
| | надо унаследовать класс 2 от класса 1, а метод делать не публичным а protecting, вроде так это называется... т.е. обратиться к нему из внешней программе нельзя, а из классов, которые наследуют этот клас - можно. | |
|
|
|
|
|
|
|
для: Agronom
(05.03.2008 в 23:18)
| | другими словами от наследования не уйти... спасибо :) | |
|
|
|
|
|
|
|
для: Lelik
(06.03.2008 в 00:50)
| | можно сделать ваш метод статическим и вызывать class1::globalMethod() , тогда в самом методе globalMethod() все члены и методы должны быть статическими, что не очень удомно...
Поэтому лучше наследование! | |
|
|
|
|
|
|
|
для: Agronom
(06.03.2008 в 01:05)
| | да, так и буду делать. спасибо еще раз :) | |
|
|
|
|
|
|
|
для: Agronom
(06.03.2008 в 01:05)
| | >Поэтому лучше наследование!
От задачи ещё зависит, яблоки от лошадей лучше не наследовать :)
В общем случае требуемый метод лучше выделить в третий класс от которого и наследовать эти два. От наследования одного класса другим лучше воздержаться. | |
|
|
|
|
|
|
|
для: cheops
(07.03.2008 в 13:49)
| | От задачи ещё зависит, яблоки от лошадей лучше не наследовать :)
да, такое наследование немного смущало :)
В общем случае требуемый метод лучше выделить в третий класс от которого и наследовать эти два. От наследования одного класса другим лучше воздержаться.
спасибо всем. теперь получил полный развернутый ответ на свой вопрос :) | |
|
|
|
|
|
|
|
для: Agronom
(05.03.2008 в 23:18)
| | >етод делать не публичным а protecting
protected | |
|
|
|
|
|
|
|
для: vitroot
(06.03.2008 в 10:46)
| | ну это уже ни суть важно, тем более доки всегда под рукой, да и меня интересовал общий подход к вопросу, так сказать :) | |
|
|
|
|
|
|
|
для: Lelik
(06.03.2008 в 17:27)
| | мне понравилось слово "природить" | |
|
|
|