Как понять ООП, сколько раз не брался ничего не понял. Сейчас взял книгу по java, там без этого никак (для сайта надо написать программку под андройд)
Я так понял, есть три главных принципа: инкапсуляция, наследование, полиморфизм.
1 - Инкапсуляция (иерархия) - порядок подчинённости низших звеньев к высшим, организация их в структуру типа дерево.
2 - Наследование - грубо говоря, можно пользоваться тем, что есть у родителя.
3 - Полиморфизм - в зависимости от действия выполняются разные функции (методы).
Мне кажется, что для понимания процедурный стиль проще, кто может приведите простенький пример, чтобы понять принципы ООП.
------
И сразу в догонку, что установить нужно из ПО: JDK, IDE eclipse, Android DSK. Это так в книге написано. По факту скачал android-studio-bundle, к нему ещё что устанавливать надо?
_____________
Принимаю заказы, писать в ЛС
Zzepish
21.03.2016 - 16:10
Ты собрался учить жабу?
Цитата (Zzepish @ 21.03.2016 - 16:10) |
Ты собрался учить жабу? |
да
_____________
Принимаю заказы, писать в ЛС
Читаю Герберт Шилдт - 8 издание
_____________
Принимаю заказы, писать в ЛС
Zzepish
21.03.2016 - 16:16
Медведь
Тогда вот тебе задача:
у тебя есть точка. Тебе из нее надо сделать линию. Далее - квадрат. Далее - прямоугольник.
У всех должен быть метов area и volume. Которые вычисляют площадь и объем данной фигуры.
Я думаю, что логику ты понял (тут работа с наследованием и override'ами).
Читай его до половины. По-сути: учебник - хлам. Не из-за недостатка информации, а из-за ее размазанности
android-studio-bundle достаточно будет? Или ещё что установить?
Надо хоть простенькую программку запустить, чтобы появился азарт, да и пробовать в процессе чтения.
_____________
Принимаю заказы, писать в ЛС
Zzepish
21.03.2016 - 16:23
Медведь
если чистая жаба - Eclipse, android - Eclipse.
Ну и jdk1.8+.
И в path пропиши путь до папки с java.exe, javac.exe (они в одной папке).
ОДНАКО!!! Вначале не работай с IDE. ПОработай с файлами. НАучись сам компилить и запускать программы
Если ты выбрал Java как язык на основе объектной модели и думаешь, что это подтолкнёт тебя к пониманию ООП, то это неправильный путь. На Java возможно писать процедурный код, она не подталкивает сама по себе к пониманию ООП. Хочешь понять ООП, начни использовать паттерн "внедрение зависимостей", через какое-то время поймешь, зачем вообще интерфейсы, зачем сеттеры и геттеры, зачем инкапсуляция, полиморфизм и наследование. Это, по-моему, единственный паттерн, который действительно влияет на восприятие ООП программистом, за короткое время.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 21.03.2016 - 20:16) |
Это, по-моему, единственный паттерн, который действительно влияет на восприятие ООП |
Ну, кстати, да!
Сто страниц позади, читается легко. Есть схожесть с PHP, только при инициализации переменных нужно указывать тип.
_____________
Принимаю заказы, писать в ЛС
Цитата (Медведь @ 22.03.2016 - 21:33) |
Есть схожесть с PHP |
Чувак, это у PHP схожесть с Java. ООП модель в PHP слизана с Java.
Цитата (Медведь @ 22.03.2016 - 21:33) |
Сто страниц позади, читается легко. |
Одно читать книжку, а другое понимать, что там написано и уметь это применять.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 23.03.2016 - 00:11) |
понимать и применять |
Буду стараться, чтобы всё получилось
_____________
Принимаю заказы, писать в ЛС
Здесь кто нибудь писал под андройд?
Я хотел спросить вот что, складывается аналогия с html (xml) и php (java), изображения и страницы так же разложены. Очень похожее всё
_____________
Принимаю заказы, писать в ЛС
Zzepish
23.03.2016 - 22:45
Медведь
Похоже, но все работает совершенно по-другому (либо я -ракал, и нифига не шарю)
icedfox
23.03.2016 - 23:36
Медведь, тут очень важно понимать, что типизация и структура очень важна, допущенных ошибок тебе не простят, как это бывает в в html и php.
П.С. А еще у переменной значение может быть
undefined ;) Поэтому стандартная проверка тебе легко вернет TRUE
if ($foo) {
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.