Главная страница

Презентация по Программированию. Книга Программирование на Java для начинающих


Скачать 4.47 Mb.
НазваниеКнига Программирование на Java для начинающих
АнкорПрезентация по Программированию
Дата03.02.2022
Размер4.47 Mb.
Формат файлаpdf
Имя файла638767.pdf
ТипКнига
#350143
страница11 из 18
1   ...   7   8   9   10   11   12   13   14   ...   18
class SuperClass { }
2. Внутри фигурных скобок класса добавьте метод, который выводит строку для идентификации.
public static void hello( )
{
System.out.println( "Привет из Суперкласса" ) ;
}
3. Добавьте второй метод, который пытается вывести переданный ар- гумент, затем сохраните файл под именем SuperClass.java.
public static void echo( String arg )
{
try
{ System.out.println( "Вы ввели: " + arg ) ; }
catch( Exception e )
{ System.out.println( "Требуется аргумент" ) ; }
}
JAVA
SuperClass.java

107
4. Создайте новую программу с именем SubClass, которая расширяет класс SuperClass.
class SubClass extends SuperClass
{
public static void main ( String[] args ) { }
}
5. После главного метода добавьте еще один метод, который выводит строку для идентификации, перегружая наследуемый метод с тем же именем.
public static void hello()
{
System.out.println( "Привет из Подкласса" ) ;
}
6. Внутри фигурных скобок главного метода добавьте вызов пере- гружаемого метода, а затем явный вызов метода с тем же именем в суперклассе.
hello()
;
SuperClass.hello()
;
7. Добавьте вызов другого наследуемого метода.
echo( args[0] ) ;
8. Сохраните программу под именем SubClass.java, затем скомпили- руйте и запустите, не вводя аргумент в командной строке.
9. Отредактируйте файл
SubClass.java, добавив для вызова метода свой собственный блок операторов try catch, перехватывающий исключения, а затем скомпилируйте и заново запустите програм- му, чтобы увидеть, что проблема решена.
JAVA
SubClass.java
На заметку
Более подробную информа- цию по перехвату исключе- ний см. в главе 4.

6. С
оздание к
лас
со
в
108
Создание объектного
класса
Объекты реального мира, окружающие нас, можно описать при помо- щи атрибутов (характеристик или свойств), а также действий, которые они выполняют. Например, автомобиль можно описать при помощи атрибутов «красный», «купе», а также при помощи действия «ускоряет- ся». Применительно к Java-программированию все это можно предста- вить при помощи класса Car, содержащего свойство color и bodyType, а также метод accelerate().
Поскольку в Java-программировании широко применяются атри- буты и методы объекта, говорят, что Java является объектно- ориентированным языком программирования.
Объекты в Java создаются при помощи определения класса в качестве шаблона, из которого могут быть произведены копии (экземпляры ).
Каждому экземпляру класса можно присвоить атрибуты и методы, описывающие объект. Далее мы создаем класс Car в качестве шабло- на класса с атрибутами и методами по умолчанию, описанными выше.
После этого создается экземпляр класса Car, который наследует те же самые атрибуты и методы по умолчанию.
1. Начните новый шаблон класса с именем Car.
class
Car
{
}
JAVA
FirstObject.java

109
2. Внутри фигурных скобок класса Car объявите и проинициализи- руйте две глобальные строковые константы, описывающие атри- буты.
public final static String color = "Красный" ;
public final static String bodyType = "Купе" ;
3. Добавьте глобальный метод, описывающий действие.
public static String accelerate()
{
String motion = "Ускоряется..." ;
return motion ;
}
4. После класса
Car
начните новый класс с именем FirstObject, со- держащий стандартный метод main.
class
FirstObject
{
public static void main ( String[] args ) { }
}
5. Внутри фигурных скобок главного метода добавьте операторы для вывода каждого из значений атрибутов класса Car, а также вызова его метода.
System.out.println( "Цвет " + Car.color ) ;
System.out.println( "Тип кузова " + Car.bodyType ) ;
System.out.println( Car.accelerate() ) ;
6. Сохраните программу под именем FirstObject.java, затем скомпили- руйте и запустите.
На заметку
Ключевое слово static объяв ляет переменные и ме- тоды класса в данном случае как члены класса Car.
Совет
Классы объектов обычно создаются перед классом программы, содержащим метод main.

6. С
оздание к
лас
со
в
110
Создание экземпляра
объекта
Каждый класс содержит встроенный метод, который можно использо- вать для создания нового экземпляра этого класса. Этот метод называ- ется «конструктор ». Он имеет то же самое имя, что и класс, и запуска- ется с ключевым словом new.
Каждый экземпляр класса наследует атрибуты и действия объекта.
Принцип наследования является одним из основных в Java- програм- мировании. Благодаря ему программы могут использовать «готовые» свойства.
Для большей гибкости шаблоны класса можно определять в отдельном файле, который затем можно использовать в разных программах.
1. Начните новый файл, скопировав шаблон класса Car из предыду- щего примера.
class
Car
{
public final static String color = "Красный" ;
public final static String bodyType = "Купе" ;
public static String accelerate()
{
String motion = "Ускоряется..." ;
return motion ;
}
}
2. Сохраните файл под именем Car.java.
3. Создайте новую программу с именем FirstInstance, содержащую стандартный метод main.
class
FirstInstance
{
public static void main ( String[] args ) { }
}
JAVA
Car.java
JAVA
FirstInstance.java

111
4. Внутри фигурных скобок главного метода добавьте операторы для вывода каждого из значений атрибутов класса Car, а затем вызови- те его метод.
System.out.println( "Цвет автомобиля " + Car.color ) ;
System.out.println( "Тип кузова "+ Car.bodyType ) ;
System.out.println( Car.accelerate() ) ;
5. Теперь добавьте операторы для создания экземпляра Porsche клас- са Car.
Car
class
Car Porsche = new Car() ;
6. Добавьте операторы для вывода унаследованных значений каждого атрибута Porsche, а также вызова его метода.
System.out.println( "Цвет Porsche " + Porsche.color ) ;
System.out.println(
"Тип кузова Porsche " + Porsche.bodyType );
System.out.println( Porsche.accelerate() ) ;
7. Сохраните программу под именем FirstInstance.java рядом с файлом шаблона Car.java, затем скомпилируйте и запустите.
Для нового объекта Porsche создается виртуальный класс, который копирует исходный класс Car. Оба этих объекта содержат статические переменные класса и метод класса, к которым можно обратиться, ис- пользуя точечную запись и имя класса, но поскольку они доступны глобально, то это является не очень хорошей практикой программи- рования.
В данном примере демонстрируется, как экземпляр объекта наследует свойства исходного класса. В следующем примере используются неста- тические члены — переменная экземпляра и метод экземпляра, к кото- рым нельзя обратиться извне класса, поскольку они глобально не до- ступны, и это является хорошей практикой программирования.
На заметку
Вы не можете обратиться к переменной motion на- прямую — она находится за пределами видимости внутри объявления метода.
Совет
Компилятор автоматически находит класс Car во внеш- нем файле
.java и создает скомпилированный файл
.class для него.

6. С
оздание к
лас
со
в
112
Инкапсуляция свойств
Когда нужно описать переменные и методы объекта и защитить их от обработки внешним программным кодом, используется ключевое сло- во private (закрытый). Для вызова значений переменных, а также вы- зова методов, в объект можно включать общедоступные методы. Дан- ный прием инкапсулирует переменные и методы внутри структуры объекта. Это демонстрируется в следующих шагах, которые воспроиз- водят предыдущий пример с инкапсуляцией метода и атрибутов.
1. Начните новый класс с именем Car.
class
Car
{
}
2. Внутри фигурных скобок класса объявите три закрытые строковые переменные для хранения атрибутов объекта.
private String maker ;
private String color ;
private String bodyType ;
3. Добавьте закрытый метод, описывающий действие.
private String accelerate()
{
String motion = "Ускоряется..." ;
return motion ;
}
4. Добавьте общедоступный метод для присваивания значения пере- данного аргумента каждой из закрытых переменных.
public void setCar( String brand , String paint , String style )
{
maker = brand ;
color = paint ;
bodyType = style ;
}
5. Добавьте еще один общедоступный метод, обращающийся к значе- ниям закрытых переменных и вызывающий закрытый метод.
JAVA
SafeInstance.java

113
{
System.out.println( maker + " цвет " + color ) ;
System.out.println( maker + " тип кузова " + bodyType ) ;
System.out.println( maker + " " + accelerate() + "\n" ) ;
}
6. После класса
Car
начните еще один класс с именем SafeInstance, содержащий стандартный метод main.
class
SafeInstance
{
public static void main ( String[] args) { }
}
7. Внутри фигурных скобок главного метода добавьте оператор, соз- дающий экземпляр класса Car.
Car Porsche = new Car() ;
8. Добавьте оператор, который вызывает общедоступный метод клас- са Car для присваивания значений его закрытым переменным.
Porsche.setCar( "Porsche" , "Красный" , "Купе" ) ;
9. Теперь добавьте оператор для вызова еще одного общедоступного метода класса Car, вызывающего сохраненные значения атрибутов, а также закрытый метод, определяющий действие.
Porsche.getCar()
;
10. Создайте еще один экземпляр, сначала присвоив, а потом вызвав значение.
Car Bentley = new Car() ;
Bentley.setCar( "Bentley" , "Зеленый" , "Седан" ) ; Bentley.getCar() ;
11. Сохраните программу под именем SafeInstance.java, затем компили- руйте и запустите.
На заметку
Проинициализированная строковая переменная хранит значение null — та- ким образом, вызов метода
getCar() перед методом
setCar() возвратит значение
null каждой из переменных.

6. С
оздание к
лас
со
в
114
Создание объектных
данных
Метод конструктора объекта можно вызывать напрямую в классе объек та, для того чтобы проинициализировать его переменные. Это позволит хранить отдельно объявление и присваивание, что является хорошим стилем программирования. Этот пример демонстрируется в следующих шагах, которые воспроизводят предыдущий пример с ин- капсулируемыми методом и атрибутами вместе с инициализацией при помощи конструктора.
1. Начните новый класс с именем Car.
class
Car
{
}
2. Внутри фигурных скобок класса объявите три закрытые строковые переменные для хранения атрибутов объекта.
private String maker ;
private String color ;
private String bodyType ;
3. Добавьте метод constructor, в котором инициализируются все три переменные со значениями атрибутов.
public
Car()
{
maker = "Porsche" ;
color = "Серебристый" ;
bodyType = "Купе" ;
}
4. Добавьте закрытый метод, описывающий действие.
private String accelerate()
{
String motion = "Ускоряется..." ;
return motion ;
}
5. Добавьте общедоступный метод для присваивания значений пере- данного аргумента каждой из закрытых переменных.
JAVA
Constructor.java
Внимание
В объявлениях конструк- тора не указываются типы данных.

115
public void setCar( String brand , String paint , String style )
{
maker = brand ;
color = paint ;
bodyType = style ;
}
6. Добавьте еще один общедоступный метод, который выводит значе- ния закрытых переменных и вызывает закрытый метод.
public void getCar()
{
System.out.println( maker + " цвет " + color ) ;
System.out.println( maker + " тип кузова " + bodyType ) ;
System.out.println( maker + " " + accelerate() + "\n" ) ;
}
7. После класса
Car
добавьте еще один класс с именем Constructor, содержащий стандартный метод main.
class
Constructor
{
public static void main ( String[] args ) { }
}
8. Внутри фигурных скобок главного метода добавьте операторы для создания экземпляра класса Car и вызова первоначальных значе- ний по умолчанию.
Car Porsche = new Car() ;
Porsche.getCar()
;
9. Создайте еще один экземпляр, присвоив и вызвав значения.
Car Ferrari = new Car() ;
Ferrari.setCar( "Ferrari" , "Красный" , "Спортивный" ) ;
Ferrari.getCar() ;
10. Сохраните программу под именем Constructor.java, затем скомпи- лируйте и запустите.

6. С
оздание к
лас
со
в
116
Заключение

Разбиение программ на многочисленные методы, которые можно вызывать при необходимости, увеличивает гибкость и упрощает отслеживание ошибок.

Перегруженные методы имеют то же имя, но принимают другие ар- гументы.
• Переменные, объявленные внутри метода, имеют локальную об- ласть видимости, а переменные класса — глобальную область ви- димости в пределах этого класса.
• Ключевое слово
static
используется для объявления методов и пе- ременных класса, которые имеют глобальную область видимости в пределах этого класса.
• Ключевое слово
public
явно разрешает доступ из любого класса.

Объявление класса может содержать ключевое слово extends, в ко- тором указывается суперкласс, откуда объявляемый класс будет наследовать свойства.

Для того чтобы явно обращаться к определенному методу класса или к его переменной, можно использовать имя класса и точечную запись.
• Объекты реального мира имеют атрибуты и действия, которые можно представить в программах с помощью переменных и ме- тодов.

Объекты в Java создаются как шаблон класса, из которого можно сделать копии (экземпляры).

У каждого класса существует метод constructor, который можно запустить с помощью ключевого слова new для создания экземпля- ра этого класса.

Экземпляры наследуют атрибуты и методы класса, из которого они произведены.

Инкапсуляция защищает переменные экземпляра и методы экзем- пляра от доступа из внешних классов.
• Ключевое слово
private
запрещает доступ снаружи класса.

Метод конструктора можно вызывать для инициализации атрибу- тов этого объекта.

7
7
Импортирование
Импортирование
функций
функций
В данной главе
В данной главе
демонстрируется, как
демонстрируется, как
из специализированных
из специализированных
Java-классов
Java-классов
импортировать
импортировать
в программы
в программы
дополнительную
дополнительную
функциональность.
функциональность.
• Работа с файлами
• Работа с файлами
• Чтение консольного ввода
• Чтение консольного ввода
• Чтение
файлов
• Чтение
файлов
• Запись
файлов
• Запись
файлов
• Сортировка элементов массива
• Сортировка элементов массива
• Создание списочных массивов
• Создание списочных массивов
• Работа с датой
• Работа с датой
• Форматирование
чисел
• Форматирование
чисел
• Заключение
• Заключение

7. Импор
тирование ф
ункций
118
Работа с файлами
Java содержит пакет с именем java.io, предназначенный для работы с процедурами ввода и вывода в файл. Такой пакет можно сделать до- ступным, если в самое начало файла .java включить оператор import.
Для этого используется шаблон *, означающий включение всех классов пакета. Например, import java.io.* ;.
В пакете java.io содержится класс с именем File, который может быть использован для доступа к файлам или целым каталогам. Вначале нуж- но создать объект File, используя ключевое слово new и указывая имя файла или имя каталога в качестве аргумента для конструктора. На- пример, синтаксис, создающий объект File с именем info, который будет представлять файл в локальной системе под именем info.dat, вы- глядит следующим образом:
File info = new File( "info.dat" ) ;
Данный файл будет расположен в том же каталоге, что и программа, но аргумент может содержать полный путь к файлу, расположенному в любом месте. Обратите внимание, что при создании объекта
1   ...   7   8   9   10   11   12   13   14   ...   18


написать администратору сайта