Если честно , я бы никогда не подумал что программирование может так затянуть. Для меня это выглядело как нечто скучное и монотонное . Но уже даже сейчас я понимаю что это своего рода кросворд - который мне нужно разгадать. В школьное время я любил сложные задачки , где от меня не требовалось знание того или иного понятия , я любил задачки где моя логика и мыслительная сила способна дать верный ответ в независимости от моих знаний. И знаете , я почувствовал что программирование очень схоже с этим. Да нам нужно знать базовые понятия , функции , синтаксис того или иного языка , команды и так далее. Но основная цель тут стоит в том что нам даётся инструмент , а как им воспользоваться решаем уже мы ( ну или заказчик) ) . Я думаю если вы любите сложные задачи на логику , то вам надо попробовать себя в программировании это 100% .
Я надеюсь мне удалось вас замотивировать , давайте приступим к обсуждению того что я изучил и понял.
Классы
В прошлых статьях я дал понятие классам с моей точки зрения , и вот оно уже поменялось. Я был крайне не прав. В своей первой статье я сказал что классы - это только вход в программную и рабочую среду. Это не верно , вход в рабочую среду осуществляется с помощью команды , а класс - это место где мы пишем код и куда вставляем объекты. Т.е. Мы создаем класс человек и внутри этого класса даём понятие "Человек" , кто это и что он из себя представляет. Мы пишем что у человека есть руки , ноги , мозг и все прочие прелести из чего мы состоим. Внутри класса мы не описываем какого-то определенного человека , мы просто дали общее описание. И допустим мы рассмотрим человека Диму. У Димы 2 руки , 2 ноги , мозг и Дима любит делиться своими мыслями с другими. Мы создали Объект "Дима" внутри класса "Человек". Давайте посмотрим как это будет описано внутри кода.
Создать класс можно создав новый проект , а внутри проекта создать класс People ( Люди ) , мы дали программе значения , которые будут относиться к классу "People".
В классе Main ( основной ) мы вводим команду входа в программу и тем самым даём понять что это то место , где наш код будет запускаться и выдавать результат. Т.е. мы все так же создаем класс ( это нужно что бы мы могли писать код как минимум. ) , а внутри класса пишем public static void main(String[] args) {} - это точка входа в программу. Внутри фигурных {} скобок мы должны писать код. И тут мы видим что мы создали человека Dima и дали ему определенные значения . У Димы две руки , две ноги , есть мозг ( и это правда ) , а так же дали описание , что я написал выше.
Это базовая функция класса , но тогда появляется вопрос -"А зачем мне создавать класс - если я могу сделать все тоже самое без лишнего окна , просто создав переменные?". Ответ появляется сейчас.
Классы - это место где мы можем написать не только из чего этот класс состоит ( данные, переменные ,экземпляры или поля ) , а еще и дать им методы ( задачи и команды ). Давайте покажу как это работает.
Мы создадим 2 человека ( Дима и Маша (( самые популярные личности в учебниках )) ). Дима будет общительный , а Маша не очень. И программа должна понимать кто сможет спокойно разговаривать с незнакомыми людьми , а кто нет. И конечно же мы хотим что бы она делала это сама , а не нашими ручками. Давайте напишем код!
Сперва надо создать переменную которая будет отвечать за качество "Общительность" - мы будем оценивать ее от 1 до 10.
Теперь нужно дать это значение Диме , а заодно создать Машу и тоже описать ее.
Что следующее? Мы должны создать код , который понимает что человек общительный и соответственно будет выводить нам текст на панель.
Я написал вот такой код и теперь я могу увидеть является человек общительным или нет исходя из моей оценки.
Но этот код еще можно оптимизировать , что бы мы не писали if/else для каждого отдельного человека что мы создаем. Я сделал это так
А в классе Main вот так
И теперь мы можем создавать хоть 100 выдуманных ( Дима настоящий ) людей. Давать им значение , и программа будет делать вывод что человек общительный или нет сама. Давайте поменяем навыки общения у Димы и Маши местами в нашем новом коде.
Как видим теперь Дима не общительный , а Маша наоборот общительная. Программа работает. Скорее всего весь этот код можно сократить еще больше , но я еще не знаю как.
В следующем уроке я буду писать все про тоже ООП , ведь это только начало.
Надеюсь вам было интересно читать эту статью. Если это так то вы можете подписаться на канал , если у вас есть навыки программирования на Java - можете делиться критикой и мнением , тут это поддерживается.
Следите за улучшением моих навыков и улучшайтесь вместе со мной!
Всем удачи , до встречи в следующей статье.