[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как понять ООП
Страницы: 1, 2
Миша
Как понять ООП, сколько раз не брался ничего не понял. Сейчас взял книгу по java, там без этого никак (для сайта надо написать программку под андройд)

Я так понял, есть три главных принципа: инкапсуляция, наследование, полиморфизм.

1 - Инкапсуляция (иерархия) - порядок подчинённости низших звеньев к высшим, организация их в структуру типа дерево.

2 - Наследование - грубо говоря, можно пользоваться тем, что есть у родителя.

3 - Полиморфизм - в зависимости от действия выполняются разные функции (методы).

Мне кажется, что для понимания процедурный стиль проще, кто может приведите простенький пример, чтобы понять принципы ООП.

------

И сразу в догонку, что установить нужно из ПО: JDK, IDE eclipse, Android DSK. Это так в книге написано. По факту скачал android-studio-bundle, к нему ещё что устанавливать надо?

_____________
Принимаю заказы, писать в ЛС
Zzepish
Ты собрался учить жабу?
Миша
Цитата (Zzepish @ 21.03.2016 - 16:10)
Ты собрался учить жабу?

да

_____________
Принимаю заказы, писать в ЛС
Миша
Читаю Герберт Шилдт - 8 издание

_____________
Принимаю заказы, писать в ЛС
Zzepish
Медведь
Тогда вот тебе задача:
у тебя есть точка. Тебе из нее надо сделать линию. Далее - квадрат. Далее - прямоугольник.
У всех должен быть метов area и volume. Которые вычисляют площадь и объем данной фигуры.

Я думаю, что логику ты понял (тут работа с наследованием и override'ами).


Читай его до половины. По-сути: учебник - хлам. Не из-за недостатка информации, а из-за ее размазанности
Миша
android-studio-bundle достаточно будет? Или ещё что установить?

Надо хоть простенькую программку запустить, чтобы появился азарт, да и пробовать в процессе чтения.

_____________
Принимаю заказы, писать в ЛС
Zzepish
Медведь
если чистая жаба - Eclipse, android - Eclipse.
Ну и jdk1.8+.
И в path пропиши путь до папки с java.exe, javac.exe (они в одной папке).
ОДНАКО!!! Вначале не работай с IDE. ПОработай с файлами. НАучись сам компилить и запускать программы
chee
Если ты выбрал Java как язык на основе объектной модели и думаешь, что это подтолкнёт тебя к пониманию ООП, то это неправильный путь. На Java возможно писать процедурный код, она не подталкивает сама по себе к пониманию ООП. Хочешь понять ООП, начни использовать паттерн "внедрение зависимостей", через какое-то время поймешь, зачем вообще интерфейсы, зачем сеттеры и геттеры, зачем инкапсуляция, полиморфизм и наследование. Это, по-моему, единственный паттерн, который действительно влияет на восприятие ООП программистом, за короткое время.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Ron
Цитата (chee @ 21.03.2016 - 20:16)
Это, по-моему, единственный паттерн, который действительно влияет на восприятие ООП

Ну, кстати, да!

Миша
Сто страниц позади, читается легко. Есть схожесть с PHP, только при инициализации переменных нужно указывать тип.

_____________
Принимаю заказы, писать в ЛС
chee
Цитата (Медведь @ 22.03.2016 - 21:33)
Есть схожесть с PHP

Чувак, это у PHP схожесть с Java. ООП модель в PHP слизана с Java.

Цитата (Медведь @ 22.03.2016 - 21:33)
Сто страниц позади, читается легко.

Одно читать книжку, а другое понимать, что там написано и уметь это применять. laugh.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Миша
Цитата (chee @ 23.03.2016 - 00:11)
понимать и применять

Буду стараться, чтобы всё получилось smile.gif

_____________
Принимаю заказы, писать в ЛС
Миша
Здесь кто нибудь писал под андройд?

Я хотел спросить вот что, складывается аналогия с html (xml) и php (java), изображения и страницы так же разложены. Очень похожее всё

_____________
Принимаю заказы, писать в ЛС
Zzepish
Медведь
Похоже, но все работает совершенно по-другому (либо я -ракал, и нифига не шарю)
icedfox
Медведь, тут очень важно понимать, что типизация и структура очень важна, допущенных ошибок тебе не простят, как это бывает в в html и php.

П.С. А еще у переменной значение может быть undefined ;) Поэтому стандартная проверка тебе легко вернет TRUE
if ($foo) {
// будет TRUE , т.к. $foo не определена и вернет не FALSE или NULL , а undefined
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.