в jvm функции загружаются в область метода, которая инициализируется в момент загрузки класса и объекты в куче, чтобы эти функции были улучшены для повышения производительности. инкапсуляция является связыванием элемента данных и функции-члена. в этом случае я не вижу инкапсуляции на уровне объекта. также, если у класса есть тысячи экземпляров, было бы нормально использовать одну и ту же функцию снова и снова, поскольку функция может рассматриваться как ресурс, совместно используемый различными объектами.
уточните пожалуйста.Почему инкапсуляция не в объектах/почему мы называем это инкапсуляцией
ответ
функция загружается в область метода, который инициализируется во время загрузки класса
Java не имеет функций, он имеет только методы, которые связаны с классом всегда. Как загружаются эти методы, зависит от JVM. В JVM HotSpot метод может быть оптимизирован и перестроен многократно в течение жизни JVM.
Вы не должны путать инициализацию статических переменных в классе, который выполняется один раз, с тем, как в разные моменты времени можно манипулировать кодом для методов различными способами.
инкапсуляция является связыванием элемента данных и функции-члена.
Я не согласен. В Object Orientated программировании инкапсуляция - это скрытие деталей реализации. Вызывающему метода на объекте не нужно знать, как реализован метод или какие поля используются.
было бы нормально разделить эту функцию снова и снова, поскольку функция может быть просмотрена как ресурс, разделяемый различными объектами.
методы прочитаны только для того, чтобы они могли иметь любое количество копий и не иметь проблемы. Таким образом, они не являются источником конкуренции за ресурсы.
данные метод экземпляра и элементы не связаны друг с другом, поскольку они находятся в классе
как именно они связаны, не важно. Все, что вам нужно знать, это то, что объект имеет класс, и этот класс имеет методы. Любое количество объектов может иметь один и тот же класс без последствий для производительности. (За исключением возможности исчерпания памяти)
Большое спасибо. Информация действительно хорошая –
- 1. Как мы это называем?
- 2. Почему мы называем это «Расслабляющим» краем?
- 3. Что мы называем это в python?
- 4. Почему мы называем супер() в конструкторе
- 5. Можно ли это назвать инкапсуляцией?
- 6. Почему куча (как там, где мы помещаем объекты) называем это?
- 7. Почему мы называем переменные в Tensorflow?
- 8. Как мы называем держатель строки?
- 9. Это инкапсуляция?
- 10. Почему мы называем функции аргументами в других функциях?
- 11. В yii2 Как мы называем отношения
- 12. Почему инкапсуляция является важной особенностью языков ООП?
- 13. Как мы называем функцию в swift3.0
- 14. Как мы называем синхронизацию Webservice в iOS9
- 15. md5 хеш возвращается с инкапсуляцией в swift
- 16. Что происходит, когда мы называем IUknown :: Release
- 17. Как мы называем этот тип бара?
- 18. Поскольку мы можем конкатенировать строки в Java, почему мы все еще называем строку неизменной?
- 19. Как мы называем способ работы с php?
- 20. Как мы называем методы тестирования, где мы проверяем несколько условий?
- 21. Когда мы называем некоторые элементы расширяемыми в WSDL?
- 22. Разница между инкапсуляцией и абстракцией
- 23. Почему инкапсуляция в C# важна?
- 24. Инкапсуляция Java OOP. Почему Object.doSomething(); лучше, чем doSomething (Object) ;?
- 25. Проверьте переменный после называем это PHP
- 26. Как мы называем тип функции, возвращаемый службой в угловом
- 27. Как мы называем `@ something` перед методами в Java?
- 28. Как мы называем «Кэширование в шаблоне» для Play 2.1?
- 29. Что такое инкапсуляция в контексте JavaScript?
- 30. Почему метод не возвращает последнее утверждение, когда мы называем «супер» внутри?
Объекты представляют собой состояние и поведение, инкапсулированные вместе в один программный компонент. «Не в объектах»? Неправильно. У вас может быть много экземпляров с одной и той же функцией, но она не используется. Каждый из них работает в своем собственном инкапсулированном состоянии. – duffymo
yes sir, но метод хранится в области методов, а экземпляр java-объекта находится в куче, откуда он обращается к методу доступа через ссылочный идентификатор, присутствующий в области стека. поэтому методы одинаковы, к ним обращаются экземпляры разных объектов. я сомневаюсь в инкапсуляции, поскольку члены данных метода и экземпляра не связаны вместе, поскольку они находятся в классе. создавая разные экземпляры, мы используем одну и ту же функцию снова и снова. –
Неправильно. Извините, вы этого не понимаете. Это идея, которая была частью каждого языка OO. Оно работает. Вы не согласны признать, что, возможно, вы неправильно поняли? – duffymo