it_vse (519823), страница 53

Файл №519823 it_vse (Лекции) 53 страницаit_vse (519823) страница 532013-09-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 53)

Таким образом, эти два классаимеют много общего. При создании иерархии объектов, вышестоящий иподчиненный объекты могут не иметь ничего общего, но один объект подчиПодчиненный объектняется другому, т.е. доступ к свойствам и методам подчиненного объектавозможен через свойство вышестоящего объекта. Проводя аналогию с жизнью: сын похож на отца, ноначальник и подчиненный не обязательно из одной семьи.

Хочется также подчеркнуть уже прозвучавшуюразницу: наследование – для классов, иерархия – для объектов, т.е. для экземпляров класса. Иерархиязадается путем описания в классе вышестоящего объекта свойства, создающего подчиненный объект, вклассе которого может быть также описано свойство, создающее объект еще более низкого уровня иерархиии т.д.

Тогда, создав вышестоящий объект, вы автоматически создаете дерево подчиненных объектов. Впримере ниже, описан объект mercedes, который содержит подчиненный объект koleso (свойство osi),Вышестоящий объект Ляхевич А.Г., 2000 - 2002 годкоторый, в свою очередь, содержит подчиненный объект болт (свойство zaklepki). При создании автомобиляавтоматически создаются колеса и болты. Доступ к подчиненным объектам происходит в формате:вышестоящий_объект . подчиненный_объект . свойства_подчиненного_объекта.package primer;class avtomobil {long probeg = 3;void poehal ( ) { System.out.println (" Еду "); }}class mercedes extends avtomobil {// Наследование от класса avtomobilvoid poehal ( ) { System.out.println (" Еду быстро "); }void marka ( ) { System.out.println (" Шестисотый мерс!"); }koleso osi = new koleso ();// Создание подчиненного объекта}class koleso {boolean zapaska=false;// Описание обычного свойства "запаска"bolt zaklepki = new bolt();// Создание подчиненного объекта}class bolt { int nomer_bolta = 100; }public class proga {mercedes myCar; // Описание переменной myCarpublic proga() {myCar = new mercedes ( ); // Создание вышестоящего объектаmyCar.marka ( );// Использование метода вышестоящего объектаmyCar.osi.zapaska = true; // Использование свойства объекта второго уровня иерархииmyCar.osi.zaklepki.nomer_bolta = 1; // Использование свойства объекта третьего уровня иерархии}public static void main(String args[ ] ) { // Запуск программыproga go = new proga ();}}8.7.

Использование пакетовДля того, чтобы в одном классе можно было использовать другой класс, необходимо импортировать этоткласс при помощи директивы import. Пример: import avtomobil; . Однако вы видите, что во всех приведенных ранее примерах этого не сделано. Объясняется это тем, что директиву import можно опустить, еслифайл класса находится в том же каталоге. Директива import используется, в основном, для импорта классовиз пакетов.Рассмотрим понятие пакета. Как известно, каждый класс помещается в отдельный файл класса.Большое количество файлов классов напоминает жесткий диск без каталогов или папок, поэтому файлыклассов должны быть некоторым образом организованы. Для объединения исходных текстов файловклассов в один файл используются пакеты.

Они напоминают библиотеки, имеющиеся во многих языках.Помимо того, что пакеты позволяют логически сгруппировать классы, они еще снимают проблемусовпадения имен классов. Допустим, что есть два пакета "маляры" и "художники" и в рамках каждогопакета описан класс "кисточка" (очевидно, что малярная кисть отличается от кисти художника).

Если быпакетов не существовало, то возник бы конфликт, т.к. существует два класса с одинаковым именем.Использование пакетов снимает эту проблему, т.к. теперь доступ к классам будет организован так:"маляры.кисточка" и "художники.кисточка".Для того чтобы включить класс в пакет, нужно при его объявлении использовать оператор package,который должен быть первым оператором в файле. Другими словами, перед этим оператором могут бытькомментарии и пробелы, но ничего больше. Пример: Ляхевич А.Г., 2000 - 2002 годВерноНеверноpackage tachki;import java.awt.*;import java.io.*;import java.awt.*;import java.io.*;package tachki;class avtomobil {long nomer;void poehal ( ) { System.out.println (" Еду "); }}class avtomobil {long nomer;void poehal ( ) { System.out.println (" Еду "); }}class mercedes extends avtomobil {void poehal ( ){ System.out.println (" Еду быстро …"); }void marka ( ){ System.out.println (" Шестисотый мерс!"); }}class mercedes extends avtomobil {void poehal ( ){ System.out.println (" Еду быстро …"); }void marka ( ){ System.out.println (" Шестисотый мерс!"); }}Для использования класса из пакета, необходимо импортировать его, или импортировать пакет целиком.Синтаксис:import имя_пакета .

имя_класса// импортировать один классimport имя_пакета . *// импортировать все классы из пакетаПример:import tachki . mercedes;import tachki . * ;Можно и не импортировать пакет, тогда для использования класса придется указывать его полное название,включая имя пакета, что неудобно: tachki.mercedes moya_tachka = new tachki.mercedes ( );Также желательно не импортировать большие пакеты целиком, а ограничиться только теми классами,которые действительно нужны:1) При импорте пакета целиком виртуальная машина Java должна отслеживать имена всех элементов,имеющихся в пакете.

На это расходуется дополнительная оперативная память. Кроме того, в этом случаенемного снижается быстродействие системы2) Если импортируется несколько пакетов и окажется, что они имеют совпадающие имена файлов классов,то возникнет конфликт: какой же класс все-таки использовать?3) Самый главный минус связан с пропускной способностью Internet-соединения.

Когда вы целикомимпортируете пакеты, отсутствующие на вашем компьютере, то перед тем, как продолжить работу, браузердолжен загрузить через сеть все файлы классов для целого пакета. Если в пакете имеется 30 классов, аиспользуются только два, будут напрасно расходоваться значительные ресурсы и время пользователя.8.8. ИнтерфейсыВ языке Java отсутствует множественное наследование, т.е. любой объект может порождаться только отодного объекта. Но иногда надо, чтобы объект унаследовал не только свойства и методы родителя, но исвойства и методы другого объекта. Для этих целей используются интерфейсы – классы, в которыхобъявлены, но не описаны методы. Класс, реализующий интерфейс, должен сам описать реализациюметодов интерфейса.

При описании методов интерфейсов, можно не указывать модификаторы доступа, всеони по умолчанию рассматриваются как public. Другие модификаторы доступа в описании методовинтерфейса использовать нельзя. В интерфейсах также нельзя использовать переменные, не являющиесяконстантами (final). Любые поля интерфейса, вне зависимости указаны модификаторы доступа или нет,рассматриваются как public, final и static.Синтаксис объявления интерфейса следующий:public interface имя_интерфейса extends список_интерфейсов{ /* объявление свойств, объявление методов без описания их реализации */ }Пример:public interface Radio {final String nazvanie = "Автомобильный радиоприемник"; // описание константыpublic long Volna( );// описание метода}Интерфейс применяется к объекту при помощи ключевого слова implements (синтаксис см.

выше). Пример:class mercedes extends avtomobil implements Radio – к классу mercedes применяется интерфейс Radio. Ляхевич А.Г., 2000 - 2002 год8.9. Арифмитические и логические операции. Циклы и управляющие операторы.Арифметические и логические операцииОперацияОписаниеx=3Присвоить переменной x значение 3.+, -, *, /, %Сложение, вычитание, умножение, деление и деление по модулю (определение остаткаот деления).Увеличить x на единицу, уменьшить x на единицу.x ++, x -+=, -=, *=, /=x == 3x != 3<,<=,>,x|yСложение, вычитание, умножение и деление с присваиванием.x+=3 аналогично команде x=x+3.Операция равенства: x равен 3. Используется в конструкции IF..ELSE и др.Пример: if (x==3) { //действия };Операция неравенства: x не равен 3.>= Операции отношений: меньше, меньше или равно, больше, больше или равно.x&yПоразрядная операция ИЛИ (OR).

Результатом является число, полученное всоответствии с таблицей истинности для ИЛИ. Пример:x: 00001010 = 10y: 00001100 = 12Результат: 00001110 = 14Поразрядная операция И (AND).x^yПоразрядная операция исключающее ИЛИ (XOR).~xПоразрядное логическое отрицание НЕ (NOT).&=,|=, ^=x||yПоразрядные операции с присваиванием: x&=y аналогично x=x&yx && yЛогическая операция ИЛИ (OR). В отличие от поразрядных операций, результатлогической операции не число, а только значение ИСТИНА или ЛОЖЬ.

Характеристики

Тип файла
PDF-файл
Размер
6 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее