Мы уже с вами сталкивались не много с понятием классы, но сейчас рассмотрим более подробно. В программировании существуют различные стили написания кода, к примеру процедурный. Процедурный стиль написания кода это кода код пишется внутри одного класса, то есть вся программа помещается внутри одного класса. Но Java это ООП объектно ориентированы язык программирования, и потому существовать без классов он не может. Да же когда вы пишите код в одном классе и думаете что это процедурный стиль написания, да от части я вам скажу. В java не возможно написание программ в процедурном стиле, так как в нем используются родительские классы содержащие методы, а вы работаете в дочерних. Не верите? Ну вспомните хотя бы как мы вызываем метод который передает наши данные в консоль? Или другие методы использующие в наших занятиях. По этому классы это элемент составляющий основу языка java. Класс это шаблон для объекта, а объект это экземпляр класса. Когда вы создаете класс вы описываете работу JVM для создания объекта указанного типа.
Классы.
Для создания класса используется оператор class после которого идет имя(класса) далее фигурные скобки внутри которых будут описаны ваши методы. Имя класса начинается с большой буквы, так же стоит не забывать о стиле программирования, так называемом верблюжий метод, о котором я вам уже упоминал в предыдущих занятиях. Имя класса может быть составным, то есть из нескольких слов. Однако стоит помнить что имя класса нужно давать смысловое, которое будет интуитивно понятным для программистов. К примеру если у вас в классе планируется создание методов таких как, цвет, двигатель, колеса, кузов. Все эти методы можно объединить в смысловое одно целое, и соответственно назвать наш класс class car (машины). Хотя действовать надо наоборот исходя из поставленных перед вами задач называть свой класс и уже потом добавлять методы и свойства в соответствии названия класса. И так приступим к созданию класса.
Для начала создадим новый проект, программы как вы помните я пишу в NetBeans. Как создать новый проект почитать можете в занятии №2 Имя проекту можете оставить прежнее MyFirstProgramm листинг 12.1
1 2 3 4 5 6 7 8 9 |
package myfirstprogramm; public class MyFirstProgramm { //имя нашего класса public static void main(String[] args) { //главный //метод } } |
листинг 12.1
Как вы видите у нас создался класс имя которого MyFirstProgramm, в нем содержится главный метод запуска программы public static void main (String[] args). Теперь мы создадим еще один класс. Для этого в левой колонке выделяем наш пакет myfirstprogramm и заходим в меню Фаил>>Создать фаил>>Java Класс Java>>В строку имя пишем: Car И жмем кнопку готово. У нас должно получиться так же как на рис 12
рис. 12
Поля.
Теперь внутри класса (внутри фигурных скобок) мы можем создавать поля и методы. Поля- это переменные которые объявлены внутри класса, а не внутри метода. Поля можно сравнить с обычными переменными, переменные поля видны во всем классе и вне классах. Методы-это функции которые описаны внутри класса. Теперь давайте подумаем что общего между всеми автомобилями? У все автомобилей есть, колеса, двигатель, вес автомобиля. одним словом характеристики, то есть поля. Теперь давайте добавим их в наш класс. Внутри фигурных скобок class Car пишем как в листинге 12.2
1 2 3 4 5 6 7 8 9 |
package myfirstprogramm; public class Car { String wheels; //поле марка колес float engine; //поле объем двигателя int weight; // поле вес автомобиля } |
листинг 12.2
Разберем все характеристики из листинга 12.2 подробно. Первым у нас стоять wheels(колеса) типа String в них мы будим писать марку колес. engine(двигатель) типа float в него мы будем записывать значения объема двигателя. weight типа int здесь мы указываем вес нашего автомобиля. Свойства автомобиля (методы) пока создавать не будем. Теперь нам надо создать объект нашего класса Car
Создаем объект.
Для создания объекта нам нужно выйти из класса Car где описаны характеристики машины. И войти в класс тестирования MyFirstProgramm. Здесь нам необходимо создать объектную переменную (ссылку на объект), имя может быть любым, имя начинается с прописной буквы, обычно имя создают согласно названию класса, в нашем случаи это bmw листинг 12.3
1 2 3 4 5 6 7 8 9 10 |
package myfirstprogramm; public class MyFirstProgramm { //имя нашего класса public static void main(String[] args) {//главный //метод Car bmw;//создаем ссылку на объект } } |
листинг 12.3
Далее нам необходимо зарезервировать место в памяти для объекта Car, это происходит с помощью оператора new, далее указывается конструктор класса Car (); с круглыми скобками и в конце ставиться точка с запятой и с помощь оператора = происходит связывания объекта ссылкой. О конструкторах мы поговорим в следующем занятии, пока это нам не нужно. листинг 12.4
1 2 3 4 5 6 7 8 9 10 11 |
package myfirstprogramm; public class MyFirstProgramm { //имя нашего класса public static void main(String[] args) {//главный //метод Car bmw;//создаем ссылку на объект bmw=new Car();// создаем объект } } |
листинг 12.4
Так же существует краткая форма записи, в будущем я именно ей и буду пользоваться. листинг 12.5
1 2 3 4 5 6 7 8 9 10 |
package myfirstprogramm; public class MyFirstProgramm { //имя нашего класса public static void main(String[] args) { Car bmw=new Car(); } } |
листинг 12.5
Вот мы и создали объект класса Car. Теперь мы можем пользоваться нашими полями из класса Car. Для этого пишем название переменной ссылки bmw и в конце ставим точку, откроется список всех доступных методов и переменных. Выбираем поле weight (вес) и с помощью оператора присвоения = вносим в нее значения согласно типу, тип у нас int целые числа. Я присвоил значение равное 2500 листинг 12.6
1 2 3 4 5 6 7 8 9 10 11 12 |
package myfirstprogramm; public class MyFirstProgramm { //имя нашего класса public static void main(String[] args) { Car bmw=new Car(); bmw.weight=2500; //присваиваем значение } } |
листинг 12.6
Для проверки написания и присвоения значений в поле weight класса Car выведем информацию о весе машины в консоль. листинг 12.7
1 2 3 4 5 6 7 8 9 10 11 12 |
package myfirstprogramm; public class MyFirstProgramm { //имя нашего класса public static void main(String[] args) { Car bmw=new Car(); bmw.weight=2500; System.out.println(bmw.weight); } } |
Домашнее задание.
- Дописать пример приведенный в уроке, внести все значения в поля класса Car.
- Придумать и создать новые характеристики в классе Car
- Создать еще один объект класса Car.