Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Лабораторная работа 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 – имя метода. Имена методов, в отличие от имен классов, принято писать с маленькой буквы. На конце каждого метода после имени всегда идут круглые скобки ( ), пустые или содержащие параметры (об этом позднее). После сигнатуры метода идут фигурные скобки { }. В них содержится тело метода. Тело нашего метода содержит просто вывод сообщения о том, что кот кушает — " 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, то его можно вызывать следующим образом:
Вспомним, что при описании нашего метода он содержал параметры 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.
На этом закончим данную работу, итак, в этом лабораторной работе мы:
Для закрепления материала предлагаю самостоятельно создать класс Dog, где описать характеристики и поведение собаки, а потом вызвать этот класс из HelloWorld. Свои вопросы можете оставлять в комментариях. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1970; Нарушение авторского права страницы