|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
|
Куда лучше поместить метод?06.04.2019, 13:56. Показов 3398. Ответов 67
Метки нет (Все метки)
У базового класса есть наследники: классы A, B, C, D. У классов A, B, C есть один и тот же метод, который использует поля базового. Куда его лучше поместить: в базовый класс, тогда этот метод будет и у D, которому он не нужен; или сделать интерфейс для этих трех классов? И еще возможность сделать метод статическим и поместить его куда-нибудь, к примеру в тот же базовый класс и передавать ему в параметры поля.
0
|
|
| 06.04.2019, 13:56 | |
|
Ответы с готовыми решениями:
67
Сохранение файла с настройками: куда лучше сохранять Куда лучше всего сохранять данные (числовые и текстовые) |
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
||||
| 07.04.2019, 19:21 | ||||
|
еще один пример. допустим я разработал юнити. там у каждой сущности есть координаты, на основе которых я рисую сцену, поворачиваю камеру и тд. Вася разрабатывает игру, где сделал гнома - наследника сущности и скрыл метод получения координат. Теперь движок не может отрисовать гнома и кидает исключения, так как пытался получить его координаты. Добавлено через 1 минуту
0
|
||||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
|||
| 07.04.2019, 19:29 [ТС] | |||
|
Хорошо, а почему нельзя в базовом классе запрещать наследование для определенных наследующих?
0
|
|||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|||
| 07.04.2019, 19:31 | |||
|
Мы можем сколько угодно так перетягивать канат, либо можем на вашем реальном примере создать корректную ооп модель
0
|
|||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
|||
| 07.04.2019, 19:41 [ТС] | |||
|
0
|
|||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
||
| 07.04.2019, 19:45 | ||
|
На самом деле ответ был дан первыми 4мя ораторами, причем все варианты приемлимы и легко реализуются ничего не ломая и не создавая оверхеда. Где вы там умудрились найти проблему и почему решения не подходят я видимо уже не пойму.
0
|
||
|
Модератор
|
|||
| 07.04.2019, 19:51 | |||
|
Откуда базовый класс может знать кто, когда и какие будет делать производные от него классы? В принципе Вы как себе это представляете? То есть в базовом классе задать список возможных названий производных?
0
|
|||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
|||
| 07.04.2019, 19:51 [ТС] | |||
|
0
|
|||
|
Модератор
|
||
| 07.04.2019, 19:55 | ||
|
Вы затрагиваете теоретические вопросы. Поэтому в рамках этой теории Вам и отвечают. Вам надо либо так же переключится на обсуждение самой теории, но терминологию оттуда же и брать. Либо обсуждать только практические моменты и задачи, но тогда Вам надо более конкретизировать что Вы хотите реализовать и почему Вам не нравятся предложенные варианты.
1
|
||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
||
| 07.04.2019, 19:56 [ТС] | ||
|
На уровне исходника все может быть ясно.
0
|
||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
||
| 07.04.2019, 19:58 | ||
|
0
|
||
|
Модератор
|
||
| 07.04.2019, 20:01 | ||
|
Базовый же класс создаётся тогда когда производных ещё не существует.
0
|
||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
|||
| 07.04.2019, 20:02 [ТС] | |||
|
0
|
|||
|
Модератор
|
||||
| 07.04.2019, 20:10 | ||||
|
Компилятор этот, сейчас, с открытым кодом и любой может подключится к его созданию. Добавлено через 2 минуты Но Вам же объяснили как в рамках существующего языка это возможно осуществить. Водить же какие-то изменения в сам язык, да, ещё изменения противоречащие теоретической концепции языка (хотя бы с точки зрения его создателей).... Есть ли смысл это обсуждать? Даже теоретически?
0
|
||||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
||||
| 07.04.2019, 20:19 [ТС] | ||||
|
Добавлено через 4 минуты Добавлено через 2 минуты Встречая такое слово компилятор может в самом простом случае создавать интерфейс или промежуточный класс. Чем плохо?
0
|
||||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|||
| 07.04.2019, 20:36 | |||
|
0
|
|||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
||||
| 07.04.2019, 20:42 [ТС] | ||||
|
0
|
||||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|||||||
| 07.04.2019, 20:49 | |||||||
|
типа
0
|
|||||||
|
Модератор
|
||||
| 07.04.2019, 20:59 | ||||
|
Создать разные вариации языка для одной сборки и нескольких сборок? Но язык создают не под желания того или иного пользователя. Даже такая корпорация как МикроСофт отказалась от создания языка своими силами под свои желания. Для внесения изменений в язык, надо убедить сообщество его создающее в полезности и возможности этих изменений. То что Вы предлагаете - это изменение теоретических основ языка. Это изменение потребует не просто введения одного дополнительного ключевого слова, а изменение всей конструкции языка. Я очень сомневаюсь, что Вам удастся убедить значительное количество создателей в полезности и возможности предлагаемого. Добавлено через 4 минуты Если нужно замаскировать какой-то метод базового класса в производном - это можно сделать и сейчас очень просто. Или Вы хотите чтобы реализация базового класса менялась в зависимости от того кто от него наследует? такое , конечно, потребует очень значительных изменений в языке с самых его основ.
0
|
||||
|
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
|
|||||||||||||
| 07.04.2019, 21:16 [ТС] | |||||||||||||
|
Добавлено через 3 минуты Не знал, что так плохо описываю свои мысли: столько написано, а в чем вопрос еще, оказывается, непонятно.
0
|
|||||||||||||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
||||||||||||||||
| 07.04.2019, 21:28 | ||||||||||||||||
вы ответите, так можно же
теперь приведите пример что это возможно любым способом, хоть примером кода, хоть теоретической выкладкой, да хоть как нибудь кроме "я хочу так, значит это возможно". Добавлено через 1 минуту Добавлено через 1 минуту аля приравнять a-b к b-a. Как бы реализовать то это можно, но вся математика сломаетсяеще одна аналогия: я хочу запретить только самое последнее натуральное число. не подскажете какое это? Добавлено через 5 минут
0
|
||||||||||||||||
| 07.04.2019, 21:28 | |
|
Куда поместить функции? SDL: куда поместить библиотеку Куда поместить файлы проекта? Куда поместить код в конфигураторе? Куда поместить главные фотографии сайта? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|