Составители:
Рубрика:
12
тов класса-основателя классом-наследником.
Правила наследования Java позволяют совмещать исходные версии
наследуемых методов с модифицированными, так и замещать их, не
изменяя программного окружения.
Java ориентирован на создание программных продуктов для мно-
гократного использования, это изначальная установка, парадигма это-
го языка программирования. И именно поэтому все исполняемые про-
граммы Java являются классами.
Тем
не менее, написать программу «для одноразового применения»
на Java, конечно, тоже можно. Например, класс HelloWorld из листин-
га 2.1.1:
Листинг 2.1.1
class HelloWorld{
public static void main(String[] args){
System.out.println(“Hello, world!");
}
}
Все исполняемые программы Java являются классами - это единст-
венный полезный вывод, который можно сделать, глядя на этот при-
мер. В остальном класс HelloWorld крайне мало информативен с точки
зрения изучения Java. Он не предназначен для использования в виде
объектов. Программа его работы всегда одинакова, на нее никак нель-
зя повлиять. Возможности Java гораздо
шире. Чтобы открыть их для
себя, обратимся к следующему разделу.
2.2 Класс: новый тип данных
В языке Java класс является основным программным элементом.
Все исполняемые программы Java являются классами. Однако классы
не являются программами. Класс не является набором последователь-
но выполняемых инструкций, его элементы могут располагаться в
произвольном порядке. Класс представляет собой описание комплекса
данных в соединении с описаниями методов, оперирующих этими
данными. По сути, класс следует рассматривать
как усовершенство-
13
ванную структуру, агрегатный тип данных, дополненный комплексом
методов для управления. Класс – это описание нового типа данных.
Объектам – скопированным в оперативную память экземплярам класса
– назначается тип, совпадающий с именем того класса, копией кото-
рого они являются. Рассмотрим это положение на примере класса
Hello из листинга 2.2.1. Этот класс - попытка привести к «канониче-
скому
» объектно-ориентированному виду пример из листинга 2.1.1:
Листинг 2.2.1
class Hello{
String greeting=”Hello”;
String person=”world”;
void sayHello(){
System.out.println(greeting+”, ”+person+”!”);
}
}
Этот класс определяет структуру своих объектов. Он содержит
описание двух переменных (greeting и person) в совокупности с мето-
дом (sayHello()), манипулирующим ими. Легко убедиться, что в классе
Hello с точки зрения компилятора ошибок нет. Но класс Hello невоз-
можно исполнить. Невозможно хотя бы потому, что в нем отсутствует
метод “main(String[] args)” с атрибутами “ public static void ”. Однако,
никакого противоречия
нет: классы рассчитаны на многократное ис-
пользование в дальнейшем. То есть, на использование другими клас-
сами. Так что метода “main(String[] args)” с атрибутами “ public static
void ” в них может и не быть. В общем случае, и не должно быть.
2.3 Объекты: временные копии классов
Кроме отсутствия метода main, использованию класса Hello пре-
пятствует отсутствие объектов этого класса. Основным (но не единст-
венным) способом использования классов в Java является создание их
экземпляров с последующим обращением к элементам – переменным
и методам - экземпляров. Как правило, до создания экземпляра пере-
менные и методы класса недостижимы. Они попросту не существуют.
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »