![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Как изменить public на private в унаследованном классе?
![]() |
|||
|
||||
tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
никак. Потомки могут только расширять возможности базовых классов, а не ограничивать их.
Вместо наследования агрегируй класс в свой и сделай доступ к чему нужно. Или наследуйся от еще более раннего класса. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 14 Всего: 42 |
Изменить сигнатуру методов в унаследованном классе нельзя.
Тем более если они private ты их даже не увидишь. Если методы protected можно сокрыть их и написать обертки для них. |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
||||
|
||||
adLucem |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 17.4.2007 Где: Украина, Донецк Репутация: 4 Всего: 5 |
Вопрос поставлен некорректно - наследник не должен давать меньше или обещать больше чем базовый класс - это явная ошибка проектирования. |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
У меня есть класс матриц MxN со свойствами M, N. От него я наследую класс векторов, где M - всегда равняется 1, и этот параметр нигде не нужен, вот я его и хочу скрыть ![]() |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 14 Всего: 42 |
|
|||
|
||||
marcusmae |
|
||||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
По-моему, перебор с категоричностью. Хотя
это действительно выглядит странновато. Сколько я видел и сам писал линейной алгебры, всюду матрица - это составной объект, использующий вектора, а не наоборот, . Обычно, они даже не связаны наследованием (если только матрица не хранится, как вектор), так что "скрывать" придётся очень многое. Впрочем, Вам виднее. Абстрагируемся от этого примера ![]() Это сообщение отредактировал(а) marcusmae - 30.5.2007, 11:50 -------------------- ἀπὸ μηχανῆς θεός |
||||
|
|||||
Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
HalkaR, угу, так и у меня
![]() Я дулул так как нас учил препод по алгебре - вектора - это всего лишь подвид матриц ![]() Пожалуй я не буду с этим возится ![]()
|
||||
|
|||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
С некоторых позиций, ступенька - это, конечно, подвид лестниц. Больше того, в программировании (особенно, коммерческом) разведение сколь-угодно летающих крокодилов по соображениям целесообразности не принято считать большИм злом. Другое дело, что утверждение Вашего преподавателя пользы-то никакой не приносит. Потверждением тому служит Ваш же код : от наследования ровным счётом ничего нового не приобрели - всё это и так уже было в System.Array. С точки зрения фундаментальной теории, одномерные векторные пространства мало похожи на многомерные. В них могут вводиться различные метрики (например, норма, как корень из скалярного произведения вектора на себя Vs. спектральная норма матрицы, Сh- или L2- и тд.), рассмотрение многих свойств и характеристик бессмысленно. В конечном итоге, эти самые свойства служат цели создания на их основе некоторых хороших алгоритмов, например, для решения систем линейных алгебраических уравнений или поиска спектра матрицы (оператора). А хорошие (эффективные) алгоритмы, как правило, работают только с объектами достаточно специального вида. Так что, не сочтите за занудство и разрешите посоветовать делать разумные обобщения. ![]() Это сообщение отредактировал(а) marcusmae - 30.5.2007, 16:19 -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Да, забавно ![]() ![]() |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Что-то мне не нравился что у меня получилось:
Как избавиться можно от этого? Это сообщение отредактировал(а) Elfet - 2.6.2007, 10:46 |
|||
|
||||
lam0x7C4 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 1.6.2007 Где: Киев Репутация: 1 Всего: 1 |
Думаю, можна только так:
Это сообщение отредактировал(а) lam0x7C4 - 3.6.2007, 15:50 |
||||||
|
|||||||
Retro |
|
|||
![]() Диалектик ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1934 Регистрация: 28.6.2005 Где: Киев Репутация: 9 Всего: 117 |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |