16.08.2016, 20:52
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Как эта цепочка работает. Когда интепретатор не находит затребованного метода или свойства, он обращается к проперти - прототип и, если в нее воткнут какой-то объект, интепретатор начинает искать затребованное в том объекте, и если там нету - к его прототипу и так шуршит объектами проникая в следующий через прототип если определено, пока не упрется. ))) Тогда уже делает эксепшн и ты читаешь про ундефайнед.
|
|
16.08.2016, 21:01
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Изначально жаба скрипучая была создана для написания простых сценарием взаимодействия юзера с элементами веб-страницы. То есть изначально она не предназначена для индустриального программирования, а само индустриальное программирование с каждым днем уходило все дальше за горизонты этой жабы, а жабные программисты со всей силы выкручивались пытаясь догнать радугу и плели эти прототипы как ловкие пауки. Ну вот, в новой версии интерпретатора сделали наконец-то чертежи, то есть классы и тем самым приблизили этот пластилин к промышленному стандарту.
|
|
16.08.2016, 21:05
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
но эти же классы работают по принципу прототипов?
|
|
16.08.2016, 21:18
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Нет. Прототип - это дерево наподобие папок в твоем компе. Когда в этой папке нет искомого файла, ОС пытается искать его в следующей папке, если в ней нет - в следующей и так пока папки не кончатся или файл будет найден. Функции как объекты в жабе тоже не чертежи, поскольку создавать из них экземпляр не требуется. А класс - это чертеж. Сам по себе это просто код, который нельзя запустить как объект, сперва надо сделать из него объект. И в этом вся мякотка, что ты можешь модифицировать чертежи ДО того, как из них будут произведены объекты, а прототипирование работает только с живыми объектами.
Последний раз редактировалось warren buffet, 16.08.2016 в 21:21.
|
|
16.08.2016, 21:22
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
возьми меня в ученики
|
|
16.08.2016, 21:24
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Есть разновидность тн статических классов, с которых не делается экземпляр. Есть абстрактные классы, из которых по условию абстрактности нельзя делать экзепляр, с них можно только наследоваться. Это уже тонкости, которых может быть и нету в новой жабе. Я не проверял.
|
|
16.08.2016, 21:25
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
DivMan, ты с форума переключись на местную документацию, там русским языком все написано и получше наверно чем я тут калякаю.
|
|
16.08.2016, 21:32
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Почитал что там пишут. Когда-то это было интересным, но теперь инфа уже серьезно устарела, в частности __proto__ этот уже считается юзать некомильфо, типа колхозный стайл. Но ты можешь вот тут почитать о плюсах и минусах https://learn.javascript.ru/classes
Я лично за минусы, ибо с тех пор клиент так разжирел, что беспокоийство о некотором увеличении расхода памяти стремится к нулю, а доступ к привату и паблику из одного места дает полную свободу.
DivMan и вообще. Первое, что надо понять в отношении ООП вообще - зачем оно нужно и всякий раз приступая к реализации какой-то фичи понимать, нужны тут объекты, прототипы или может быть понадобятся или легко обойтись функцией с несколькими функциями внутри.
Последний раз редактировалось warren buffet, 16.08.2016 в 21:37.
|
|
16.08.2016, 21:35
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
А можно ли вообще обойтись без ООП, в сложных проектах?
|
|
17.08.2016, 09:51
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Не делай культа из объектно-ориентированного программирования. Нужен объект - нарисуй объект, нужна функция как объект - нарисуй такую, нарисовал просто функцию и потребовалось снабдить ее свойствами - снабди, хочешь собирать объекты из функций по условиям - собирай, короче, жаба скрипучая - чрезвычайно гибкий скрипт, в сущности можно практически все.
Ты бы пописал в Си или в хотя бы Бейсике, сразу бы полюбил Жабу навеки. )))
|
|
|
|