Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лабораторная работа 5. Создание класса и обращение к нему в Java



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

Но давайте перейдем от теории к практике и научимся создавать объект в java. В этом лабораторной работе будет рассмотрено создание класса на языке java и последующее обращение к этому классу, то есть мы научимся основам работы с классами.

Создание класса в java

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

По аналогии с лабораторной работой 3, создадим в нашем проекте новый класс под именем Сat. Для этого в меню Ecllipse выберем File -> new -> class и, в открывшемся окне, введем имя класса – Сat. Обратите внимание, что галочка public static void main (String[] args) должна быть снята! Затем нажмем Finish (рис 5.1).

Рис 5.1.

В итоге, у нас создался новый класс (рис 5.2).

Рис 5.2.

Структура класса в java

Класс в java оформляется с помощью следующей конструкции:

public class Cat { }

Рассмотрим ее составляющие:

public – модификатор доступа к классу, в данном случае он нам говорит, что этот класс будет доступен не только данному классу, но и другим. В java существуют и другие модификаторы, но об этого поговорим позднее.

class – ключевое слово, говорящее о том, что это класс.

Cat – имя класса. Имена классов принято писать с заглавной буквы.

{ } – фигурные скобки, между которыми разместится тело нашего класса.

 

В предыдущей лабораторной работе мы упоминали, что классы в java состоят из атрибутов и методов, присвоим некоторые и нашему коту.

 

Атрибуты класса Сat

Атрибутами кота могут быть: имя, вес, окраска. Атрибуты это переменные, которые объявляются следующим образом:

private int weight; // вес кота private String name; // имя кота private String color; //окрас кота

private здесь опять же указывает на права доступа. К переменной, в данном случае, можно обращаться только из ее класса, чтобы классы извне не могли ее изменить (вспомним инкапсуляцию из лабораторной работы 4).

int, String – это типы данных. В данном случае, вес будет задан при помощи целого числа – int, a имя и цвет при помощи символьной строки String.

После объявления каждого атрибута должна ставиться точка с запятой;

При помощи // в коде программы оформляются комментарии, которые являются правилом хорошего тона.

 

Методы класса Сat

Пусть наш кот умеет есть, спать и разговаривать. Опишем это поведение с помощью методов.

//кот ест public void eat(){ System.out.print(" Eating...\n" ); }

public void eat() – сигнатура метода, его определение. В данном случае она нам говорит о том, что:

  • метод eat() доступен для других классов – public;
  • метод eat() не возвращает никаких данных – void.

eat – имя метода. Имена методов, в отличие от имен классов, принято писать с маленькой буквы. На конце каждого метода после имени всегда идут круглые скобки ( ), пустые или содержащие параметры (об этом позднее).

После сигнатуры метода идут фигурные скобки { }. В них содержится тело метода. Тело нашего метода содержит просто вывод сообщения о том, что кот кушает — " Eating...\n" . За вывод текстового сообщения отвечает метод System.out.print(" Eating...\n" ).

\n — символ перевода строки, чтобы при выводе наших сообщений все они не писались в одну строку.

 

Аналогично предыдущему методу опишем спящего кота:

//кот спит public void sleep(){ System.out.print(" Sleeping zz-z-z-z...\n" ); }

 

И немного иначе опишем метод – кот говорит:

//кот говоритpublic String speak(String words){ String phrase = words + "...mauu...\n"; return phrase; }

В отличие от предыдущих методов, этот метод возвращает значение и имеет входные параметры. Давайте подробнее рассмотрим сигнатуру метода public String speak(String words):

public - метод speak() доступен для других классов;

String - тип значения, которое возвращает метод. В предыдущих случаях ключевое слово void указывало на то, что метод ничего не возвращает. В данном случае String указывает на то, что метод возвращает значение типа строка.

Что же это значит? В процессе своей работы, метод выполняет определенные действия над данными, иногда необходимо, чтобы результат этих действий был передан для дальнейшей обработки другим классам, в этом случае метод передает (возвращает) этот результат. Эти возвращаемые данные, относятся к какому-либо типу, в нашем примере это тип символьной строки - String.

Возвращающие методы должны содержать в своем теле ключевое слово return, которое указывает на то, что именно возвращает данный метод. В нашем случае это переменная phrase.

speak - имя метода.

(String words) — входные параметры. Входные параметры, это какие-либо данные, которые передаются из других классов и, которые метод должен обработать. Наш метод получает в качестве входных данных строку в виде переменной words, к этой строке дописывает «...mauu...» и возвращает то, что получилось.

 

В итоге класс Cat выглядит следующим образом:

public class Cat { private int weight; // вес кота private String name; // имя кота private String color; //окрас кота //кот ест public void eat(){ System.out.print(" Eating...\n" ); } //кот спит public void sleep(){ System.out.print(" Sleeping zz-z-z-z...\n" ); } //кот говорит public String speak(String words){ String phrase = words + "...mauu...\n"; return phrase; } }

Обращение к классу в Java

Далее рассмотрим обращение к классу Cat. И то, как его использовать в работе.

Перейдем в класс HelloWorld, который мы создавали в лабораторной работе 3 и немного его модифицируем. Удалим строку System.out.println(" Hello World" ); , чтобы у нас осталось только следующее (рис 5.3).:

public class HelloWorld { /** * @param args */ public static void main(String[] args) { }}

Pис 5.3.

 

Если вы не выполнили лабораторную работу 3 и не создавали класс HelloWorld, то вам его нужно создать: File -> new -> class, ввести в открывшемся окне имя класса и, в этот раз, обязательно установить галочку public static void main(String[] args).

public static void main(String[] args) – сигнатура метода main(). Программа состоит из нескольких классов, но только один из классов может содержать метод main(). Mетод main(), это так называемая точка входа в программу. Без этого метода мы не сможем стартовать программу. Теперь, вместо приветствия миру, этот метод будет содержать код для работы с классом Cat.

Пишем в тело метода main() (между его фигурными скобками) следующие строки:

Cat ourcat = new Cat(); ourcat.eat(); ourcat.sleep(); String say = ourcat.speak(" Play with me" ); System.out.println(say);

Разберем подробнее, что это значит.

Прежде чем вызывать, созданные нами методы в классе Cat, и заставить нашего кота есть, спать и говорить, сперва нужно создать экземпляр класса (инстанцию).

Cat ourcat = new Cat();

Данная строчка нам говорит о том, что в памяти создан экземпляр объекта Cat, а переменная ourcat типа Cat (такого же, как и наш объект) указывает на то место в памяти, где был этот объект создан.

Переменную ourcat теперь можно использовать для вызова методов класса Cat , например:

ourcat.eat(); ourcat.sleep();

При вызове этих методов в программе Eclipse удобно пользоваться комбинацией клавиш

Ctrl + пробел, после введения имени переменной и точки (рис 5.4). Программа подскажет, какие можно использовать методы для данной переменной.

 

Рис. 5.4.

 

Если метод возвращает какое-либо значение, например, как наш метод speak () возвращает значение типа String, то его можно вызывать следующим образом:

  • объявить переменную такого же типа, что и возвращаемое значение (в нашем случае String )
  • присвоить ей вызванный метод, например:
String say = ourcat.speak(" Play with me" );

Вспомним, что при описании нашего метода он содержал параметры speak(String words). Теперь, при вызове в качестве параметра выступила фраза " Play with me" , метод speak() ее обработал и вернул " Play with me...mauu...". Именно это значение он присвоил переменной say.

Мы это можем проверить, выведя say на печать при помощи команды:

System.out.println(say);

Итак, наш класс HelloWorld теперь выглядит следующим образом:

public class HelloWorld { /** * @param args */ public static void main(String[] args) { Cat ourcat= new Cat(); ourcat.eat(); ourcat.sleep(); String say = ourcat.speak(" Play with me" ); System.out.println(say); } }

 

Теперь сохраним (Ctrl+Shift+S или ) и запустим ( ) нашу программу. При запуске Eclipse может предложить выбрать Java Applet или Java Application. Нужно выбрать Java Application (рис 5.5).

Рис. 5.5

В качестве результата внизу в консоле мы получаем следующие строки.

Eating...Sleeping zz-z-z-z...Play with me...mauu...

 

Рис. 5.6.

 

На этом закончим данную работу, итак, в этом лабораторной работе мы:

  • Научились создавать класс в java.
  • Научились объявлять атрибуты и методы класса.
  • Узнали, что методы могут возвращать или не возвращать значения, иметь или не иметь входных параметров.
  • Узнали что такое метод main().
  • Научились создавать экземпляр класса и вызывать его методы, то есть работать с созданным объектом.

Для закрепления материала предлагаю самостоятельно создать класс Dog, где описать характеристики и поведение собаки, а потом вызвать этот класс из HelloWorld. Свои вопросы можете оставлять в комментариях.


Поделиться:



Популярное:

  1. II. НАУЧНОЕ РУКОВОДСТВО КУРСОВЫМИ РАБОТАМИ
  2. IV. Внеурочная и внеклассная работа.
  3. VI.2. Педагогический стиль и его влияние на межличностные отношения и психологический климат в коллективе класса.
  4. А. Импульс силы. Б. Момент силы. В. Работа силы. Г. Плечо силы. Д. Проекция силы.
  5. Анна Михайловна Панкратова (1897 - 1957) и формирование официальной концепции истории рабочего класса.
  6. Безопасность движения поездов при путевых работах
  7. Билеты на ГКК для матросов 2 класса.
  8. В ВСЕГДА БУДЬТЕ ВЕРНЫ СВОЕМУ ВНУТРЕННЕМУ ВОДИТЕЛЬСТВУ
  9. В зависимости от расположения верхних передних зубов при II классе аномалии Э. Энгль выделил два подкласса.
  10. В лесах, каких категорий запрещено создание лесоперерабатывающей инфраструктуры?
  11. В течение какого периода времени органы и должностные лица местного самоуправления должны давать ответ на письменное обращение гражданина?
  12. В чьей компетенции находится создание условий для массового отдыха жителей поселения и организация обустройства мест массового отдыха населения


Последнее изменение этой страницы: 2016-03-17; Просмотров: 1916; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь