Поиск по сайту:

Объектно-ориентированный подход к программированию и инкапсуляции Java. Часть 5


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

У каждого объекта в Java есть состояние и поведение, которые представлены переменными и методами экземпляра. Каждый экземпляр класса может иметь уникальное значение переменной экземпляра.

Например,

Машина A может быть оснащена Debian и иметь 8 ГБ ОЗУ, а Машина B может иметь установленный Gentoo с 4 ГБ ОЗУ. Также очевидно, что управление машиной, на которой установлен Gentoo, требует больше знаний – поведения, действующего в зависимости от ее состояния. Здесь метод использует значения переменных экземпляра.

JVM при анализе класса создает объект такого типа. Когда вы пишете класс, на самом деле вы действуете как компилятор, сообщающий вашему классу, что объект должен знать и как он должен действовать. Каждый объект определенного типа может иметь разное значение для одной и той же переменной экземпляра.

Каждый экземпляр класса имеет один и тот же метод, но возможно, что все они ведут себя по-разному.

Класс ОС имеет три переменные экземпляра, а именно: Имя ОС, Тип ОС, Категория ОС.

OS
OS_Name
OS_Type
OS_Category
Boot()
Reboot()
scan()

Метод Boot() загружает одну ОС, которая для этого экземпляра представлена именем ОС. Таким образом, если вы используете boot() в одном экземпляре, вы загрузитесь в Debian, а в другом экземпляре вы загрузитесь в Gentoo. Код метода в любом случае остается одинаковым.

Void Boot() 
	{
	bootloader.bootos(OS_Name);
	}

Вы уже знаете, что программа начинает выполняться сразу после метода main(). Вы можете передавать значения в свой метод.

Например, вы хотите указать ОС, какие службы запускать при загрузке:

You are already aware that the program starts to execute just after the main() method. You can pass values into you method. For example you would like to tell you OS what services to start at boot as:
OS.services(apache2);

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

OS deb = debian();
deb.reboot(600);

Здесь метод перезагрузки ОС передает значение 600 (перезагрузка компьютера через 600 секунд) в качестве аргумента метода. До сих пор мы видели, что метод всегда возвращает void, что означает, что он ничего вам не возвращает, просто так:

void main()
	{
	…
	…
	}

Однако вы можете попросить компилятор получить именно то, что вам нужно, и ваш компилятор не вернет вам неправильные типы. Вы можете просто сделать следующее:

int Integer()
	{
	…
	…
	return 70;
	}

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

void numbers(int a, int b)
	{
	int c = a + b;
	System.out.print(“sum is” +c);
	}
Объявление и инициализация переменных экземпляра

1. Когда вы не знаете значение для инициализации.

int a;
float b;
string c;

2. Когда известно значение для инициализации.

int a = 12;
float b = 11.23;
string c = tecmint;

Примечание. Переменные экземпляра часто путают с локальными переменными, однако между ними существует очень тонкая грань, позволяющая различать их.

3. Переменные экземпляра объявляются внутри класса, в отличие от локальных переменных, которые объявляются внутри метода.

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

Инкапсуляция

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

Мы подробно расширим инкапсуляцию в соответствующем руководстве, когда это потребуется. На данный момент вам достаточно знать, что такое инкапсуляция? Что оно делает? И как это происходит?

Это все на данный момент. Оставайтесь на связи для следующей части этой серии Java «классы и объекты в Java и создайте свой первый объект в Java», пока я работаю над ней. Если вам понравился сериал и публикация, сообщите нам об этом в отзыве.