
- •050101- Комп'ютерні науки
- •050102- Комп'ютерна інженерія
- •Структура класса
- •Синтаксис работы с атрибутами и методами классов.
- •Константы. Статические переменные и методы.
- •Пакеты в Java.
- •Модификаторы доступа
- •Инициализация переменных , типы переменных.
- •Наследование.
- •Интерфейсы.
- •Связь классов и интерфейсов.
- •Обработка иключений.
- •Многопоточность.
- •2009Приложение 1
Наследование.
Механизм наследования в первую очередь снижает семантическую сложность программируемой задачи и позволяет экономить время разработчиков и делает возможным безопасное многоразовое использование одного кода в разных сегментах программируемой системы или даже в разных системах . Пример из окружающей жизни- есть класс Транспорт – у любого транспортного средства есть такие свойства , как максимальная скорость, максимальная дальность перемещения, максимальная грузоподьемность и поведение обусловленое , тем , что главная задача любого транспортного средства - перемещать грузы на расстояния , от пункта отправки в пункт назначения(свойства и поведение , которые мы выделяем у объектов , рассматриваемых в модели, определяются теми задачами , которые должна помочь нам решить модель). Существуют такие виды транспорта , как Воздушный , Водный , Железнодорожный и т.д. К примеру любой представитель Водного транспота обладает всеми свойствами и поведением класса Транспорт , но кроме того расширяет его новыми свойствами и поведением – например водоизмещением , порт прописки , численность экипажа (свойства) и двигаться по курсу,оказать помощь тонущим(поведение). В свою очередь Водный транспорт может иметь наследников Морской транспорт и Речной транспорт , которые будут иметь все доступные свойства и поведение своих предков(Транспорта и Водного транспорта) + добавят , что-то присущее только объектам данного типа. В этом случае говорят , что класс Транспорт – является корневым классом данной иерархии классов , а все остальные классы наследниками этого класса. Классы , расположенные на самом нижнем уровне наследования, которые не имеют наследников, называют листовыми классами(Это Морской и Речной в нашем случае).
Синтаксис наследования для классов прост - public class Student extends Human , эта строка говорит нам о том , что класс Студент наследуется от класса Человек. В Java ,возможно, только одиночное наследование . Все классы в Java являются наследниками от класса Object. Поэтому , используя ключевое слово extends , необходимо помнить о том , что в этом случае всегда есть как минимум 2 класса предка - Object и класс , указанный после ключевого слова extends.
Интерфейсы.
Объявление интерфейса по синтаксису аналогично объявлению класса, с тем отличием , что вместо ключевого слова class используется слово interface. Пример , связанный с начальной моделью(интерфейс Учебный) , приведен ниже :
Листинг 5.
5.1 public interface Navchalny {
5.2 String var_interf_navchal="Це змінна інтерфейсу Navchalny";
5.3 public boolean navchatys(String oblast_dialnosty , int time);
5.4 public float get_riven_maysternosty( String oblast_dialnosty);
5.5 }
Обратите внимание на то , что в интерфейсах отсутствует реализация объявленных методов. В интерфейсах могут использоваться , так называемые интерфейсные переменные (строка 5.2) Главное свойство этих переменных – они всегда являются константами и статическими(хотя это не видно в объявлении). Соответственно ,синтаксис обращения к ним следующий – имя_интерфейса.имя_переменной. В нашем случае- Navchalny.var_interf_navchal
Интерфейсы , как и классы могут наследоваться друг от друга. Для это так же , как и для классов используется ключевое слово extends. Пример ниже :
Листинг 6.
6.1 public interface Plavalnyi extends Sportyvny {
6.2 public void plavaty(int distancia);
6.3 }
При этом в отличии от классов допускается множественное насследование(все интерфейсы-предки перечисляются через запятую).