Необходимо, чтобы язык программирования сохранял информацию о классе (например, в Objective-C 2 байтах), чтобы знать «спецификацию» (например, Integer
: 4 байта; String
: 8 байт , ...) от object
?
Из-за полиморфизма программа должна проверять во время выполнения, имеет ли объект правильный type
(для методов; сообщения) правильно?
Расходует столько ресурсов? Главным образом потому, что вы создаете все больше и больше классов для того, чтобы поддерживать правильную структуру ...OOP в целом - Информация о классе в ОЗУ
ответ
Это абсолютно необходимо. Объект (т.е. ссылка) класса хранится в ОЗУ. Он использует очень маленькое нет. f bytes, поскольку он хранит только память адрес.
Проверка не выполняется во время выполнения, она выполняется во время компиляции. Это не вызывает дополнительного использования памяти. Создание классов, методов не увеличивает использование памяти, но (хотя бы немного) увеличивает время компиляции. Хранение данных (объекты/ссылки, числа, строки и т. Д.) Использует память. Только при создании объектов языковая машина выделяет и использует память.
Это абсолютно необходимо
No.
Например, по умолчанию, C++ не хранить информацию любого типа. Каждый объект просто хранит pointer to a table of function pointers, чтобы реализовать вызовы виртуальных функций.
В C++ по умолчанию вся проверка типов выполняется во время компиляции. Это только изменится, если вы начнете делать «интересные» вещи, такие как dynamic_cast
, что требует проверки типа времени выполнения и, следовательно, введите информацию, которая будет храниться в объектах.
НО: Он сохраняет «что-то», которое идентифицирует объект ... –
@LucaNateMahler: Да, но не в том смысле, о котором спрашивал ваш вопрос; он не используется для «проверки во время выполнения, имеет ли объект правильный тип». –
Итак, мы можем сказать, что ООП тратит больше памяти, чем языки с примитивами? –
- 1. Информация о магазине в ОЗУ
- 2. PHP OOP о классе
- 3. AdminBAL Информация о классе
- 4. Информация о классе
- 5. Информация о классе пользователя
- 6. Глобальная информация о классе адресов
- 7. Нужна информация о классе singleton в java
- 8. Информация о странном типе экземпляра класса в Python OOP
- 9. APC Fatal: Отсутствует информация о классе
- 10. Печать Информация о классе C# Forms
- 11. Статическая информация в классе
- 12. Что это за информация о классе?
- 13. Wordpress oop wpdb в классе
- 14. Информация о пользователе в Нэнси
- 15. Нужна ли нам дополнительная информация о классе активности в манифесте?
- 16. Как использовать объект в целом классе?
- 17. Информация о системе в пакетном режиме?
- 18. Основная информация о нужде Требуемая информация
- 19. Глобальная функция OOP MySQL в классе
- 20. класс объект в классе с php oop
- 21. PHP OOP, объявляющий переменную в верхнем классе
- 22. как вызвать значения в моем классе oop
- 23. Основная информация о местоположении
- 24. PHP OOP о ссылке
- 25. Android Информация о файле
- 26. информация о биосе в C++
- 27. Информация о процессе в OpenBSD
- 28. Информация о склепе в файле
- 29. Информация о видео в silverlight
- 30. Информация о продукте в Prestashop
Но как узнать, как данные создаются за ссылкой? «Что-то» должно идентифицировать объект, будь то дополнительная информация о классе для объекта или всего пула классов. –
Программа d не нуждается в знании. Компилятор проверял, что все в порядке, и нет неправильных вызовов методов или неправильных ссылок (или объектов) – vedant1811