Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
Для того чтобы проиллюстрировать особенности создания классов, построим класс, инкапсулирующий сведения о транспортных средствах, например о легковых автомобилях, фургонах и грузовиках. Назовем этот класс Vehicle. В нем будут храниться следующие сведения: количество пассажиров, емкость топливного бака и среднее потребление топлива (в милях на галлон).
Ниже приведен первый вариант класса Vehicle. В нем определены три переменные экземпляра: passengers, fuelcap и mpg. Обратите внимание на то, что в классе Vehicle пока еще отсутствуют методы. Они будут добавлены в последующих разделах, а до тех пор в этом классе содержатся только данные.
class Vehicle {
int passengers; // количество пассажиров
int fuelcap; // емкость топливного бака
int mpg; // потребление топлива в милях на галлон
}
Объявление class указывает на создание нового типа данных. В данном случае этот тип называется Vehicle. Пользуясь этим именем, можно теперь создавать объекты типа Vehicle. Но не следует забывать, что объявление class — это всего лишь описание типа данных, а реальный объект при этом не создается. Следовательно, приведенный выше код не приводит к появлению объектов типа Vehicle.
Для того чтобы создать реальный объект Vehicle, потребуется оператор, аналогичный следующему:
Vehicle minivan = new Vehicle(); // создать объект minivan типа Vehicle
После выполнения этого оператора объект minivan станет экземпляром класса Vehicle. Иными словами, класс обретет физическое воплощение. Не пытайтесь вникнуть пока что в детали приведенного выше оператора. В дальнейшем он станет вам полностью понятным.
Всякий раз, когда создается экземпляр класса, строится объект, содержащий копии всех переменных экземпляра, определенных в классе. Иными словами, каждый объект типа Vehicle будет содержать копии переменных passengers, fuelcap и mpg. Для обращения к этим переменным используется оператор-точка (.). Этот оператор связывает имя объекта с именем члена класса. Ниже приведена общая форма записи этого оператора.
объект.член
В этой форме объект указывается слева, а член — справа от точки. Так, если переменной fuelcap из объекта minivan требуется присвоить значение 16, это можно сделать следующим образом:
minivan.fuelcap = 16;
Вообще говоря, оператором-точкой можно пользоваться для обращения как к переменным экземпляра, так и к методам.
Ниже приведен пример программы, в которой используется класс Vehicle.
/* Программа, в которой используется класс Vehicle.
Присвоить ее исходному файлу имя VehicleDemo.java
*/
class Vehicle {
int passengers; // количество пассажиров
int fuelcap; // емкость топливного бака
int mpg; // потребление топлива в милях на галлон
}
//В этом классе объявляется объект типа Vehicle,
class VehicleDemo {
public static void main(String args[]) {
Vehicle minivan = new Vehicle();
int range;
// присвоить значения полям в объекте minivan
// Обратите внимание на применение оператора-точки
// для доступа к переменным экземпляра данного объекта.
minivan.passengers = 7;
minivan.fuelcap = 16;
minivan.mpg = 21;
// рассчитать дальность действия транспортного средства,
// исходя из того, что топливный бак заполнен
range = minivan.fuelcap * minivan.mpg;
System.out.println("Minivan can carry " + minivan.passengers +
" with a range of " + range);
}
}