![]() |
|
Модераторы: LSD |
![]()
|
|
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
Добрый день,
С утра рыскаю в интернете в поисках решения, нет могу ничего найти, ответьте пожалуйста на несколько вопросов. 1. Как создать абстрактный класс/интерфейс? 2. Как создать виртуальную функцию? мне нужно создать тип (интерфейс) в котором нет атрибутов, но выдается
вот код
как исправить? заранее спасибо. |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
Ну об этом я догадывался просто некрасиво как-то..с ООП в оракл впервые сталкиваюсь..раньше со старыми версиями работал, а в 10 вроде говорят мощная поддержка ООП, а вот и нет оказывается спасибо. Добавлено через 4 минуты и 21 секунду еще пару вопросов Я так понимаю инкапсуляции тут тоже нет? фиктивный атрибут будет открытым. и как насчет not final? т.е. это применяется к самому типу а не к функции? а если мне нужно чтобы только одна функция была виртуальной? |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Да Да Кто? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
||||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Полиморфизм, в какойто степени да есть, его поболее будет нежели в VB, которого там нет вообще Инкапсуляция, в какой то степени да реализована Наследование, в какой то стпеени да реализовано Это сообщение отредактировал(а) Zloxa - 8.5.2009, 13:40 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
||||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
инкапсуляция это не только сокрытие данных. Изначально это лишь объединение данных и методов их обработки в одной структуре. Это потом уже доразвили видимости всякие. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
||||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 1 Всего: 56 |
Если всё же рассматривать инкапсуляцию как сокрытие кода и области видимости , то как по мне она реализована, чуть ли не в полной мере: - объявляете функцию только в body , и она будет доступна только внутри пакета - объявляете функцию внутри другой функции, и она будет доступна только внутри этой функции. С типами и простыми переменными аналогично. Полиморфизм и наследование тоже как по мне реализованы в пределах возможностей Pl/Sql приемлемо. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
не понял о чем речь, не путаете ли вы объекты с пакетами? Или я чота не дознаю?
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 1 Всего: 56 |
путаю, но путаю сознательно. как по мне так с помощью пакетов можно и реализовать какое то подобие ООП в оракле. |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
||||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
||||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Да ладно, парни, чо вы глумитесь? ООП появился много раньше нежели его стали держать языки..... В дремучие времена, когда XTшки только начали вытеснять монстрообразные шкафы ДВК на ОЧЕНЬ КРУТЫХ производственных предприятиях, я самолично читал в "науке и жизни" статьи о применении объектно-ориентированного подхода при написании программ на С (без плюсов) и ASM. На PL/SQL тоже можно какнить извратиться... Полиморфизм, правда, без динамики врдяли удатся - нет такого понятия как указатель Это сообщение отредактировал(а) Zloxa - 12.5.2009, 09:31 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
Где?? что??? я вправду хочу взглянуть на возможные решения. Где это я глумился? да хрен с ним, с указателем. Главное чтобы мысль реализовалась |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 1 Всего: 56 |
пример инкапсуляции + полиморфизма. c наследованием в пакетах не получиться..
Это сообщение отредактировал(а) v2v - 12.5.2009, 10:00 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
||||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 1 Всего: 56 |
ясное дело что это всего лишь жалкая имитация нужного поведения... Это сообщение отредактировал(а) v2v - 12.5.2009, 10:10 |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
||||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
ну не то что бы совсем нет - NOCOPY NOCOPY-OBJECT Это сообщение отредактировал(а) DimW - 12.5.2009, 10:53 |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Для того чтобы реализовать полиморфные свойства объекта, необходимо иметь возможность для экземпляра потомка, используя интерфейс предка вызывать метод потомка, если он переопределен. Реализуется это, в классике, созданием таблицы виртуальных (динамических) методов, которая заполняется в конструкторе. Ввиду того, что в PL/SQL нет такого понятия, как "ссылка на процедуру", без динамики, реализовать это не удастся. A eсли уж тыкать в то, что похоже на указатели, то от чего бы не тыкнуть сразу в REFsы? Предолженный v2v оверлоад? оверлоад очень похож на полиморфизм, используя информацию о типе, однозначно определяется какая из одноименных процедур должна быть вызвана, однако если мы кастанем типазапись-объект к типазаписи-предку, мы не сможем использовать оверлоад для реализации полиморфизма, что сводит на нет полезность такового. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 1 Всего: 56 |
|
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |