Автор Архива

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

Доступ к свойствам объекта (Get и Set)

На данный момент у нас есть два файла java — это 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("Я включился. Моя модель " + name);  
         
    }
     
      public void off(){
         
       System.out.println("Я выключился");  
           
    }
     
    public void load(){
       
    System.out.println("Я загружаюсь. Мой объём жесткого диска равен " + hdd + " ГБ");  
      
 }
     
}

И файл MyFirstProgram.java с таким содержимым:

package myfirstprogram;
 
import testobject.Computer;
 
public class MyFirstProgram {
 
    public static void main(String[] args) {
       
      Computer comp = new Computer();
       
      comp.name = "IBM";
       
      comp.hdd = 350;
       
      comp.on();
       
      comp.load();
       
      comp.off();
       
    }
     
}

Сегодня мы рассмотрим доступ к свойствам объекта при помощи так называемых «гетеров» и «сетеров». В прошлом уроке мы создали у объекта Computer несколько характеристик: public String name; public int ram; public int hdd; public double weight; Всё это, как вы помните, свойства объекта или ещё говорят переменные класса. Обратите внимание, что наши переменные класса используют модификатор доступа public.

Однако следует помнить, что использовать модификатор доступа public в полях класса не безопасно. Любой, кто использует объект, может напрямую изменить свойство объекта. Например, такие свойства, как объём жесткого диска, количество оперативной памяти, вес — не могут быть меньше 0. Но сейчас мы можем присвоить им отрицательные значения, так как наши переменные имеют модификатор доступа public. (comp.hdd = -100;)

Если допустить несанкционированный доступ к свойствам, то впоследствии наш объект может повести себя неадекватно.

ВЫВОДЫ

— От состояния объекта (значений переменных класса) зависит правильная работа объекта. Мы должны разрешить менять переменные так, чтобы после этого объект продолжал работать правильно.
— Задача — обеспечить безопасность изменения состояния объекта (безопасность изменения переменных класса).

Поэтому для защита был придуман механизм доступа к свойствам объекта с помощью get и set

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

get — получить значение.

set — передать значение.

В коде представляют собой обычные методы, но имя, как правило, начинается с префиксом get или set, чтобы было понятней. К примеру getName и setName.

Таким образом мы обеспечиваем безопасность на запись значения переменной и на получение значения переменной. Также следует учитывать как можно больше факторов, которые могут «поломать» объект. Теперь рассмотрим как это будет выглядеть в программном коде.

ПОДРОБНЕЕ »

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

Типы переменных в JAVA.

В JAVA сущестуют два типа переменных. Примитивные и Ссылочные.

1.Примитивные

byte (целые числа, 1 байт)
short (целые числа, 2 байта)
int (целые числа, 4 байта)
long (целые числа, 8 байтов)
float (вещественные числа, 4 байта)
double (вещественные числа, 8 байтов)
char (символ Unicode, 2 байта)
boolean (значение истина/ложь, 1 байт)

2. Ссылочные. (от слова ссылка).- String, Computer и прочие объекты.

 

В нашем примере Computer comp = new Computer(); переменная comp — это ссылочная переменная, так как она содержит ссылка на объект. К ссылочным переменным относятся типы String.  Ссылочным типом может быть любой тип объекта, созданный в программе. В нашем случае это переменная типа Computer. Почему String — это ссылочный тип? Это задумка разработчиков языка Java. При создании переменной типа String всегда создаётся объект в памяти. 

К примеру, мы напишем String str = «abc»; здесь создаться объект типа String со значением abc и ссылка на объект будет находиться в переменной str.  Тип переменной String — это ссылочный тип.

Значение NULL.

Null — это пустое значение. Используется для ссылочных переменных и означает, что переменная не имеет указатель на какой-либо объект. В нашем случае после создания объекта Computer переменная comp ссылается на объект Computer в памяти.

Если после этого мы присвоем переменной comp значение null (comp = null;) , то после этого переменная comp уже не будет ссылаться на объект Computer. В этом случае на объект Computer больше никто не ссылается, то есть в нашей программе нет больше ссылок на объект Computer.

Когда ссылка на объект уничтожается и переменная comp ни на что не ссылается, Computer становится кандидатом на удаление сборщиком мусора.

 

14 марта – всемирный день числа ПИ

Именно этому событию  в Гусевском агропромышленном колледже    была посвящена   неделя математики.    До  празднования  этой  даты, студенты 1 -3 курсов изучали историю происхождения этого праздника, а 30  из них приняли участие    в конкурсе « Знатоков числа ПИ». Жюри высоко оценило знание точного значения числа ПИ всех участников, но только трое их них смогли воспроизвести  60,  61 и 56 знаков после запятой. Победителями стали: Коновалова А., Москаленко Е., Назаров А. 11 марта были представлены стенгазеты участников конкурса «Все про ПИ», из которых можно было узнать о приближенном значении этого числа, об истинном происхождении числа ПИ, его дне  рождения,  исторических фактах и литературных произведениях.  Апогеем недели математики стал сам всемирный день числа ПИ—14 марта, который отмечали все студенты-пираты на внеклассном мероприятии «ПиРатская  ПиРушка».

С самого утра пираты-кулинары преподносили   свои дары капитану .  Все   кулинарные шедевры были выполнены по закону вычисления числа Пи и  украшены драгоценными камнями. В конкурсе «Пираты –кулинары»  победила команда группы БЭ-11.  Пираты пировали и ратовали за великое, непериодическое, иррациональное число во всем мире, о котором подробнее рассказали капитан и его помощник. За  правильные ответы в геометрической и литературной викторине  многие участники  были награждены пиастрами. Ими были также воспеты оды числу ПИ и прочитаны оды собственного сочинения.

Праздник утихал и 15 марта все желающие могли принять участие в интернет-викторине. Применив  все полученные знания , логику и сообразительность правильно отгадали кто жил раньше Гаусс или Евклид, нашли правило симметрии в буквах русского алфавита, сопоставили графики функций и их формулы 15 участников. При подведении итогов  победила Москаленко Е., группа БЭ-11. Продолжением  темы интернет-викторины стала заключительная интеллектуальная игра  между группами ЮП-11, БЭ-11 и ВФ-11 «Счастливый случай». На протяжении всей игры напряжение росло по мере прохождения каждого этапа. Участникам понадобились знания   значений тригонометрических функций, их графиков и свойств. Пришлось приложить все усилия и при разгадывании ребусов. Места распределились  следующим образом : 1 место- ВФ—11, 2 место –БЭ—11, 3 место— ЮП-11. Все участники конкурсов и  викторин получили сертификаты , а победители награждены грамотами .

Все мероприятия организованы и подготовлены преподавателем математики Метлушко И.В.  Проведение  ряда последовательных внеклассных мероприятий позволяет закрепить знания в игровой, занимательной форме, развивать логическое мышление, память, речь, смекалку, любознательность.  При подготовке  прививаются навыки работы с учебной и энциклопедической литературой с целью поиска необходимого материала  для выпуска стенгазет. Участники верят в свои силы.
ПОДРОБНЕЕ »