Заведём жабу? Часть 3

В этом занятии мы будем создавать объекты. Объект — это некая логическая сущность, которая имеет свои характеристики и умеет что-то выполнять. Каждый объект создаётся по какой-то логике, преследует определённые цели. На программном уровне объект — это область памяти, которую он занимает при выполнении программы виртуальной машиной java. В оперативную память записываются все объекты, которые участвуют в программе. Объекты записываются в память во время непосредственного выполнения программы, а не во время написания кода. 

Теперь созданим первый объект в среде Netbeans.

  1. Запустите редактор Netbeans.
  2. Нажмите ПКМ (Правая Кнопка Мыши) по строке Пакеты исходных кодов (слева) — в открывшемся окне выберите Создать — Пакет java (в некоторых версиях Новый — Пакет java)
  3. В графе «имя пакета» введите testobject. Нажмите готов.
  4. Нажмите ПКМ на созданном пакете testobject. Выберите Создать — Класс Java
  5. В открывшемся окне в графе Имя класса введите Computer. Нажмите «Готово».

Мы создали класс Computer, который находится в пакете testobject.

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package testobject;

/**
 *
 * @author пк
 */
public class Computer {
    
}

Комментарии можно удалить. Структура кода простейшая. Объявление пакета и объявление публичного класса.Теперь следует добавить какие-то характеристики нашему объекту Computer. Характеристики в программном коде представляют собой переменные, объявленные внутри класса. По другому их называют ПОЛЯМИ КЛАССА или свойствами класса. То есть эти переменные находятся внутри класса. Давайте добавим новое поля, которое будет характеризовать модель нашему компьютера. public String name;


package testobject;

public class computer {

    public String name;    
        
}

public — модификатор доступа. Говорит нам о том, что переменная name будет доступна из любого места программы.
String — тип переменной (тип данных). String предназначен для хранения строк текста.
name — имя переменной, в этом контейнере будет храниться имя компьютера. Может быть любым, но желательно, чтобы подходило по смыслу. Мы могли бы написать и так — «imia.»

Добавим ещё одну характеристику к нашему компьютеру. Оперативная память измеряется у нас в целых числах, значит тип переменной (тип данных) у нас будет целое число — int. Пишем public int ram;


package testobject;

public class computer {

    public String name;    
    
    public int ram;     
}

Добавим характеристику жесткого диска. public int hdd; И характеристику веса. Вес может содержать числа с двойной точностью (числа после запятой), значит тип переменной будет double. public double weight;


package testobject;

public class Computer {
    
    public String name;    
     
    public int ram;  
        
    public int hdd;
    
    public double weight;
}

Мы создали 4 поля или 4 характеристики объекта Computer, которые будут характеризовать его своими значениями. Теперь давайте добавим какие-либо действия для нашего объекта Computer. Действия в программном коде представляют собой обычные МЕТОДЫ. Добавим метод «Включиться» (on).

 public void on(){
        
    }

Разберём данные строки.

public — модификатор доступа. Говорит нам о том, что метод будет доступен из любого места программы.

void — говорит нам о том, что метод не будет возвращать никаких значений.

on — название метода (может быть любым).
on() — скобки. В скобках мы можем передавать какие-то параметры в данный метод. Пока мы ничего не будем передавать — оставим их пустыми.

Каждый метод обрамляется фигурными скобками { }.

Мы создали одно действие для компьютера — on, то есть включить. По аналогии создадим метод выключить (off).

 public void off(){
        
    }

Добавим метод загрузка (load)

 public void load(){
        
    }

Теперь в каждом методе напишем, что он выполняет. Уже известной командой: System.out.println(«Ваш текст»); (печать в строку).

Обратите внимание, когда Вы нажимаете точку — Netbeans выдаёт список опций.

 public void on(){
        
       System.out.println("Я включился");  
        
    }
    
      public void off(){
        
       System.out.println("Я выключился");  
          
    }
    
     public void load(){
         
       System.out.println("Я загружаюсь");  
        
    }

Теперь при вызове какого-либо метода на экран будет выводится определённая надпись. Так как класс состоит из полей и методов — нужно помнить о таком понятии, как область видимости переменных. Переменные, которые объявлены внутри класса — в нашем случае это:


  public String name;    
     
    public int ram;  
        
    public int hdd;
    
    public double weight;

Они будут доступны внутри этого класса и внутри этих методов:


Они будут доступны даже, если модификатор доступа будет private. Private - обозначает доступ внутри класса. Если переменная объявлен внутри метода, например вот так (переменная время - time):


 public void on(){

   int time; 
        
   System.out.println("Я включился");  
        
    }

То эта переменная (time) не будет доступна в других методах! Она имеет область доступа только локально — внутри метода on. Это закрытая переменная, которая действует только во время работы метода. Как только метод отработал — эта переменная уже нигде не доступна. Теперь следует научиться создавать объект Computer, или, как ещё говорят, инициализировать. Для инициализации используется определённое ключевое слово. Итак:

1) Удалите переменную int time;
Код файла Computer.java должен выглядеть так:


package testobject;

public class Computer {
    
    public String name;    
     
    public int ram;  
        
    public int hdd;
    
    public double weight;
    
    public void on(){
       
       int time;
        
       System.out.println("Я включился");  
        
    }
    
      public void off(){
        
       System.out.println("Я выключился");  
          
    }
    
     public void load(){
         
       System.out.println("Я загружаюсь");  
        
    }
    
}

2) Перейдите в файл MyFirstProgram.java. Удалите оператор System.out.println(«Hello, world!»); Код должен быть таким:


package myfirstprogram;

public class MyFirstProgram {

    public static void main(String[] args) {
      
        
        
    }
    
}

3) Для того, чтобы создать наш объект Computer, необходимо написать следующую конструкцию: Computer comp = new Computer();


package myfirstprogram;

public class MyFirstProgram {

    public static void main(String[] args) {
      
      Computer comp = new Computer();  
        
    }
    
}

Читать дальше …

Заведём жабу? Часть 2

Теперь остановимся на структуре кода. Сейчас у нас файл MyFirstProgram.java содержит следующий код:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package myfirstprogram;

/**
 *
 * @author Максим
 */
public class MyFirstProgram {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }
    
}

Любой код java пишется внутри класса. Не может быть код вне класса! В нашем случае класс имеет название MyFirstProgram.
Обычно класс определяет в себе код с определённым функционалом, с каким-то смыслом.
(к примеру класс database — стало быть код в нём служит для работы с базой данных).
Класс — это контейнер для программного кода. Границы класса задаются фигурным скобками {}.
Netbeans подсвечивает эти границы, чтобы мы их видели визуально. Скобки также задают границы методов (у нас сейчас один метод
public static void main(String[] args)), границы условных операторов и различных участков кода.
Метод — одно из основных понятий в языке java! Метод — это аналог понятия функции из процедурных языков программирования
(например из Паскаля, Дельфи, Лазаруса)

Метод — это именованный участок кода, который выполняет определённый функционал.
Метод может возвращать значение, а может ничего не возвращать (выполнять что-то внутри себя).
Метод имеет имя, по которому его можно вызвать, и список параметров, которые передаются при вызове метода.

Читать дальше …

Инструкционная карта к заведём жабу? Часть 1-2.

Запустите NetBean IDE. Создайте новый проект. Для этого

  1. Нажмите ФайлСоздать проект.
  2. В открывшемся окне в группе «Категории» выберите Java, а в группе «Проекты» выберите «Приложение Java.» Нажмите «Далее
  3. В открывшемся окне в строке Имя проекта: введите MyFirstProgram (на будущее желательно ВСЕГДА указывать названия на английском языке и БЕЗ ПРОБЕЛОВ во избежания проблем). Нажмите Готово.

NetBeans  создал проект MyFirstProgram, а также  пакет MyFirstProgram в котором находится класс myFirstProgram.java. Также перед нами теперь есть некоторый программный код, автоматически сгенерированный NetBeans.

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package myfirstprogram;

/**
*
* @author Максим
*/
public class MyFirstProgram {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}

}

Рассмотрим структуру кода, которую создал NetBeans. Любой код формируется внутри класса.

Допишу чуть позже…

Инструкционная карта к заведём жабу? Часть 1.

  1. Установите последнюю версию JDK. Для этого:
    • Перейдите на официальный сайт Oracle

http://www.oracle.com/technetwork/java/javase
/downloads/index.html

  • Нажмите на пиктограмму с надписью Java.
  • Примите лицензионное соглашение — поставьте кружочек напротив пункта Accept License Agreement .
  • Выберите версию под вашу операционную систему. Для того, чтобы в ОС Windows узнать разрядность системы (32 или 64) нажмите Пуск — щёлкните ПКМ (правой клавишей мыши) по значку Компьютер и выберите Свойства. В открывшемся окне внизу будут указаны данные о разрядности ОС.
  • Скачайте необходимый пакет и установите его.

  1. Установите среду разработки NetBeans.
    • Перейдите по ссылке:
    • https://netbeans.org/downloads/
    • Под столбцом Java SE нажмите «Загрузить»
    • Установите скаченный пакет.

Компиляция программы в байт-коды может происходить как вручную, так и автоматически. Начинать компилировать из командной строки мы не будем. Благо не 19-й век на дворе и человечество придумало системы автоматизации.  Конечно, код java и в блокноте можно писать, равно как и копать котлован чайной ложечкой — возникает только вопрос, зачем? Давайте уже создадим первую программку.

  1. Запустите NetBeans.
  2. В меняю файл выберите создать проект.
  3. В открывшемся окне в разделе Категории выберите Java. В разделе Проекты выберите Приложение Java.
  4. Нажмите далее. В открывшемся окне напротив строки Имя элемента введите, к примеру, MyFirstProgram. Нажмите Готово. Netbeans создал пакеты исходных файлов. В пакете myfirstprogram появился файл MyFirstProgram.java Netbean уже создал некоторую структур кода.

Заведём жабу? Часть 1.

Сегодня на первом уроке Информационных технологий 2016 года в колледже с одной из групп решили, что повторять офисный пакет, изученный ещё на первых-вторых курсах, как то неинтересно, и хочется чего-нибудь массового и современного.

Практические работы по Corel Draw также были отвергнуты мнением большинства и решили мы остановиться на каком-нибудь ЯП (ЯП в нашем случая — это не «я плакал,» а язык программирования). Поскольку многие слышали понятие «объектно-ориентированное программирование,» но дальше умного названия дело не пошло — было решено взяться за самый «простой» ООП язык — Java. Возьмёмся, посмотрим, что получится.

Честно скажу, в институте я экзамен по «жабке» чуть не завалил, похоже пришло время для реванша. Но сначала немного теории.

Жабки бывают разные.

  1. Java Standart Edition (J2SE) — стандартная версия, для настольных приложений.
  2. Java Micro Edition (J2ME) — для мобильничков — устройств с ограниченными ресурсами. Ох помню как было круто, когда смартфон на Nokia поддерживал и симбиан-игры и вот эти на java.
  3. Java Enterprise Edition (J2EE) — платформы серверные.

Мы начнём, естественно, с J2SE.

Особенности жабки.

  1. Виртуальная машина Java (JVM) — среда исполнения программного кода. Все программы запускаются внутри этой среды! И уже она «контролирует» безопасность работы программ, выделение ресурсов и прочие важные штуки, то есть выполняет служебную работу, дабы наша мегапрограммка работала без сбоев. Это промежуточный слой между операционной системой и вашей программкой. Java-программы не запускаются напрямую в операционной системе! Они работают в JVM. Вот, к примеру, популярную операционную систему для мобильный устройств Андроид вполне можно назвать минималистичной сборкой Linux, которая «крутит» эту самую JVM. А Вы думаете, отчего андроид такой прожорливый до ресурсов?
  2. Кроссплатформенность. Помните бессмертный диалог Кузьмича с капитаном подводной лодки из фильма «Особенности национальной рыбалки?» «Она (подлодка) у тебя что, на водке работает?» «Она у меня работает на всём, что горит! Лейте!»  Вот так и здесь. Код можно написать один раз и использовать его и под ОС Windows, и под Linux, и под MacOS. Использовать на любой ОС, для которой существует JVM. Для каждой версии ОС — своя JVM.
  3. Сборщик мусора (Garbage Collector).  Когда программка работает — идёт активное взаимодействие с оперативной памятью, что-то считывается, что-то записывается и т.д. Оперативка же разделена на ячейки определённых размеров и у каждой ячейки, есть свой адрес. Записанный объект занимает определённое количество ячеек в зависимости от своего размера. В процессе работы программы может создаваться много объектов, которые хранятся в памяти, а сама программа, соответственно, занимается определённые ресурсы операционной системы. Если оперативку только «забивать,» не очищая, то какой бы большой объём памяти не был бы установлен — придёт время, когда и он закончится, а программа завершит свою работу с ошибкой. Говорят: произошла утечка мозгов памяти. Кроме того, возможны попытки записи данных в занятую область, что приводит к нарушении целостности данных. В Java (в отличие от C++) JVM управляет объектами в оперативе, освобождая разработчика от данной рутины. Под мусором мы понимаем объекты программы, которые больше не используются. Сборщик мусора работает в фоновом режиме во время выполнения программы и освобождает память от таких объектов. (есть ссылка — на объект — работает, нет ссылки — «давай до свидания!»)

Важные понятия:

  1. Компиляция. Вспоминаем, как «видит мир» центральный процессор? Правильно, двоичным кодом — 0 и 1. Компиляция — это преобразование вашего программного кода в код, который «понимает» JVM. Грубо говоря в единицы и нолики. Напрямую JVM не работает с нашим программным кодом! Схема выглядит так: Исходный программный код (файлы с расширением java) — КомпиляцияБайт код (двоичный код, файлы с расширением class) — Виртуальная машина Java (JVM)Запуск программы.
  2. JDK и JRE. JDK — Java Development Kit — бесплатный пакет разработчика, доступный для скачивания. Включает в себя: Виртуальную машину Java, Компилятор, Библиотеки, Примеры, Документация, Утилиты. JRE (Java Runtime Environment) — среда выполнения программы. Включает в себя: виртуальную машину, библиотеку классов. В общем JRE — только для запуска, урезанная версия. Если пользователь не собирается разрабатывать на Java, но тем не менее виртуальная машина ему нужна для работы с каким-нибудь государственным сервисом — хватит с него и JRE.

Где ж поздравления с Новым годом?

А нету. Кругом бушует кризис, какой тут новый год. 2015 и скорее всего 2016-й год можно смело поставить в один ряд с 1991-м, 1998-м, 2008-м. 90-е вернулись. Для меня 2015-й год — самый отвратительный за всю жизнь. Хуже года не было. Минимальный размер оплаты труда нынче равен порядка 80 долларов. Апатия и сломаный вектор развития — так бы я охарактеризовал ушедший год. Как обычно в новогоднюю ночь спал, как обычно мешал фейерверк. Как обычно ёлку не ставил. Кстати о ёлках — надеюсь варваров, вырубающих маленькие деревья для «праздника» поубавилось? Если нет — предлагаю послушать песенку:

 

Завершился очный этап областного конкурса молодежных проектов

2 декабря в общественной палате города Калининграда прошёл очный этап областного конкурса молодежных проектов.

На очном этапе я представлял видение дальнейшего развития студенческого научного клуба «Эврика,» представленное в образец Интернет-газеты, посвящённой проблеме бездомных животных «Спаси кота!» Всего же в этот день присутствовало 19 человек, прошедших заочный этап, с сильными и перспективными проектами.

После краткого доклада о ходе реализация проекта и его перспективах — вопросы молодежной комиссии. Об итогах конкурса сказать ничего не могу — результаты будут позже. Но уже само участие — это несомненный плюс нашему клубу, как самостоятельной единицы в образовательно-воспитательном процессе Гусевского агропромышленного колледжа.  В любом случае решение проблемы бездомных животных должно стать одним из ключевых направлений нашей внеурочной деятельности.

В заключении небольшая зарисовка группы «Небослов». Спасать кота — дело благородное!

Пилотный выпуск газеты «Спаси кота!»

В преддверии второго этапа областного конкурса молодежных проектов Студенческий научный клуб «Эврика» подготовил демонстрационный выпуск Интернет-газеты «Спаси Кота!»

Проблема бездомных животных присутствует в России со второй половине 1990-х годов. За это время миллионы россиян подобрали бездомных животных на улице, а содержание гражданами нескольких подобранных животных в квартире стало широко распространенным явлением.

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

Интернет-газета «Спаси кота!» при поддержки ветеринарного отделения государственного бюджетного учреждения Калининградской области профессиональнйо образовательной организации Гусевский агропромышленный колледж, должна способствовать устройству животных в семьи.

Мероприятие Сроки (дд.мм.гг)
1.      Разработка Интернет-сайта газеты, посвящённой проблеме бездомных животных «Спаси кота!» 01.10.2015-01.11.2015
2.      Разработка макета газеты в формате PDF, посвящённой проблеме бездомных животных «Спаси кота!» 01.11.2015-01.12.2015
3.      Набор заинтересованных лиц на добровольной основе из числа студентов ветеринарного отделения ГБУ КО ПОО «Гусевский агропромышленный колледж» 01.01.2016-01.02.2016
4.      Распространение информации в сети Интернет, ведение базы бездомных животных области. 01.02.2016-01.10.2016 и далее.
5.      Конкретные волонтёрские мероприятия по вакцинации, лечению и стерилизации бездомных животных. 01.04.2016-01.10.2016 и далее.

Наша задача ни в коем случае не составлять конкуренцию группам в социальных сетях, направленным на помощь бездомным животных, а наоборот дополнять информацию об этой проблеме. И результаты уже есть! Как минимум 5 зверушек нашли нового хозяина, благодаря усилиям студентов Гусевского агропромышленного колледжа, а одна зверушка даже поедет в новым хозяевам в Евросоюз.

Постоянно работает база бездомных животных Калининградской области, в дальнейшем мы планируем перенести её на сайт Интернет-газеты и уделять особое внимание учёту и распространении информации о зверушках, оставшихся на улице.

На сегодняшний момент в нашей электронной базе бездомных животных находится 9 котов и 15 собак.

Нашли дом: 3 кота и 8 собак.

Особые достижения: слабовидящая кошка готовится отправиться в Германию. (подробнее можно прочесть в газете).

Также в дальнейшем планируем провести курсы по работе в программе Adobe Indesign среди студентов для самостоятельного выпуска газеты.

Ну а скачать пилотный выпуск газеты можно по ДАННОЙ ССЫЛКЕ.

Кикстартер. Сбор средств на издание книги.

Есть такой замечательный сайт — Кикстартер. Кто не знает — это площадка для сбора средств для креативных проектов. Так вот есть один проект — хочу издать книгу.

Справа внизу висит баннер с её названием. Произведение основано на реальных событиях и направлено на отражение проблем нашего образования в целом и конкретной личности конкретного преподавателя в частности.

Да вот проблемка — русскоязычной версии кикстартера пока не существует, поэтому попробую организовать сбор средств на издание прямо здесь. Собственно, кто сколько может. Начиная со следующей недели планирую время на книгу выделять ежедневно. Публиковать главы буду в ЭТОМ РАЗДЕЛЕ.