#0
by Ненавижу 1С
Описываю класс как абстрактный type MDObject=class abstract end; однако его экземпляры все равно можно создавать var x:MDObject; begin x:=MDObject.Create; x.Free; end вопрос, а в чем тогда смысл этой инструкции?
#2
by vde69
на сколько помню, это именно для того и сделано, что-бы не выдавало ошибку.... абстрактный класс служит некой "болванкой" для шилдов. В твоем примере MDObject = TObject
#5
by Кирпич
по идее, должно ругаться при обращении к абстрактному методу. добавь в класс метод. может заругается.
#6
by 18_plus
гуглозабаненные все "В одних языках создавать экземпляры абстрактных классов запрещено, в других это допускается (например, ObjectPascal(Delphi)), но обращение к абстрактному методу объекта этого класса в процессе выполнения программы приведёт к ошибке."
#8
by vde69
пример использования описываем абстракный класс TCustomMuClass со свойством P1 потом на его основании описываем 2 разных класса TMuClass1 и TMuClass2 в них переопределяем P1 каждый на свой... потом гдето (например в TList) хотим использовать поле заранее не зная какой класс, тогда там описываем items как объект TCustomMuClass а фактически помещаем туда то что надо из своих двух классов. То есть используем типизированый указатель на родителя....
#14
by Ненавижу 1С
нашел Note: Delphi allows instantiating a class declared abstract, for backward compatibility, but this feature should not be used anymore ладно, хотя я не помню про такую директиву класса в ранних версиях, тогда такой вопрос: Как сделать так, чтобы нельзя было создать объект класса?
#16
by Ненавижу 1С
чтобы клиенты библиотеки не могли создать объект базового класса, а только разрешенные дочерние
#20
by Кирпич
вообще эта дурь годам к 30-35 должна пройти. так что лучше отложи пока решение этого важного вопроса.
#22
by Кирпич
ну так и пиши на C#, если это для тебя так важно. какой дебил будет создавать экземпляр абстрактного класса, если это не нужно в принципе? Можно запретить садиться на горячую сковородку. Кому надо тот сядет, а большинству это в голову даже не придёт.
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Подключение Iphone через блютуз в авто
- Обновление 1С УАТ
- УТ 11 Программное создание установки цен номенклатуры
- УТ11.1 закрытие месяца, расчет себестоимсоти
- 1С 8.3. БСП и БПО одновременно
- Сведения о внешней обработке: зачем нужно поле информация
- Выгрузка проводок из ЗиК 7.7 в БП 3.0
- Установить текущую ячейку табличной части.
- Как программно получить список выбора пользователя базы 1С, куда нет доступа?
- УПП уменьшить себестоимость товара в том числе реализации прошлым периодом как?
- Частит таймер ПодключитьОбработчикОжидания
- Роль ролей в БП 2.0
- ЗУП 3.0. Доход в натуральной форме и начисление НДФЛ
- КД2 Перенос справочника Номенклатура из 7.7 в 8.2
- Печать счета с факсимиле в УТ 11.1 (11.1.9.51) расплывается !
- HP V1905-48 Switch смена IP через консоль
- Сериализация по собственному пакету XDTO
- УФ, как программно обойти все элементы формы и дать им Доступность = Истина
- Выгрузка дожности сотрудника в AD из ЗУПа
- СКД поле на форме