Содержание
- 2. Особенности реализации основных фундаментальных свойств ООП в Java Абстракция Описывая поведение какого-либо объекта, например автомобиля, мы
- 3. Абстракция Описание каждой модели производится в виде одного или нескольких классов (classes). Класс можно считать проектом,
- 4. Абстракция Вот набросок описания автомобиля: class Automobile{ int maxVelocity; // Поле, содержащее наибольшую скорость автомобиля int
- 5. Абстракция После того как описание класса закончено, можно создавать конкретные объекты, экземпляры (instances) описанного класса. Создание
- 6. Абстракция На третьем этапе происходит инициализация объектов, задаются начальные значения. Этот этап, как правило, совмещается со
- 7. Абстракция Объект "строка" выполняет метод length() , один из методов своего класса string , подсчитывающий число
- 8. Введение в классы В основе языка Java лежит класс. Класс — это логическая конструкция, на которой
- 9. Основы классов Наиболее важным в понятии класса является то, что он определяет новый тип данных. После
- 10. Общая форма класса class classname { type instance-variable1; type instance-variable2; … type instance-variableN; type methodname1(parameter-list) {
- 11. Общая форма класса Данные или переменные, определенные в классе, называются переменными экземпляра или экземплярными переменными (instance
- 12. Простой класс Предположим, имеется класс с именем Box, который определяет три переменных экземпляра: width, height и
- 13. Простой класс Чтобы фактически создать Box-объект, можно воспользоваться следующим утверждением: Box mybox = new Box ();
- 14. Использование простого класса /* Программа, которая использует Вох-класс. Назовите этот файл BoxDemo.java */ class Box {
- 15. Объявление объектов Box mybox = new Box(); Этот оператор комбинирует два шага. Box mybox; // объявить
- 16. Объявление объекта
- 17. Операция new Операция new динамически распределяет память для объекта. class-var = new classname(); Здесь class-var —
- 18. Операция new Большинство классов явно определяют свои собственные конструкторы (внутри своих определений). Однако если явный конструктор
- 19. Ссылочные переменные объекта Box b1 = new Box(); Box b2 =b1;
- 20. Методы класса Общая форма метода такова: type name (parameter-list) { // тело метода } Здесь type
- 21. Добавление метода к классу // Эта программа включает метод внутрь класса Box. class Box { double
- 22. Возврат значений // вычислить и возвратить объем double volume() { return width * height * depth;
- 23. Параметризация методов // установить размеры блока void setDim(double w, double h, double d) { width =
- 24. Конструкторы Конструктор инициализирует объект после его создания. Он имеет такое же имя, как класс, в котором
- 25. Конструкторы Конструкторы не имеют ни спецификатора возвращаемого типа, ни даже спецификатора void. Работа конструктора заключается в
- 26. Конструкторы Конструктор можно считать обычным методом, в нем разрешается записывать любые операторы, даже оператор return ,
- 27. Пример конструктора class Box { double width; double height; double depth; // Это конструктор класса Box.
- 28. Параметризованные конструкторы class Box { double width; double height; double depth; // Это конструктор класса Box.
- 29. Использование ключевого слова this Иногда у метода возникает необходимость обращаться к объекту, который его вызвал. Для
- 30. Использование ключевого слова this // Избыточное использование this. Box(double w, double h, double d) { this.width
- 31. Скрытие переменной экземпляра В Java недопустимо объявление двух локальных переменных с одним и тем же именем
- 32. Скрытие переменной экземпляра Поскольку this позволяет обращаться прямо к объекту, это можно применять для разрешения любых
- 33. Скрытие переменной экземпляра //Используйте этот вариант конструктора // для разрешения конфликтов пространства имен. Box(double width, double
- 34. Сборка «мусора» Так как объекты распределяются динамически с помощью операции new, можно задать вопрос, как такие
- 35. Сборка «мусора» Она работает примерно так: когда никаких ссылок на объект не существует, предполагается, что этот
- 36. Метод finalized Иногда объекту нужно выполнять некоторые действия, когда он разрушается. Например, если объект содержит некоторый
- 37. Метод finalized Сборщик мусора отрабатывает периодически, проверяя объекты, на которые нет больше ссылок ни из выполняющихся
- 38. Перегрузка методов В языке Java в пределах одного класса можно определить два или более методов, которые
- 39. Перегрузка методов Чтобы определить при вызове, какую версию перегруженного метода в действительности вызывать, Java руководствуется типом
- 40. Перегрузка методов class OverloadDemo { void test () { * System.out.println("Параметры отсутствуют"); } // Перегруженный метод
- 41. Перегрузка конструкторов class Box { double width; double height; double depth; // конструктор для инициализации размеров
- 42. Передача методов в качестве параметра Существует практика передачи методам объектов. Например, рассмотрим следующую простую программу: //
- 43. Рекурсия Java поддерживает рекурсию. Рекурсия — это процесс определения чего-то в терминах самого себя. Рекурсия —
- 44. Управление доступом Инкапсуляция связывает данные с кодом, который манипулирует ими и обеспечивает другой важный атрибут: управление
- 45. Управление доступом /* Эта программа демонстрирует различие между методами доступа public и private. */ class Test
- 46. Вложенные и внутренние классы Существует возможность определения одного класса внутри другого. Такие классы известны как вложенные
- 47. Вложенные и внутренние классы // Демонстрирует внутренний класс. class Outer { int outer_x = 100; void
- 48. Класс Stack Стек хранит данные, используя очередь типа LIFO ("Last-In, First-Out") — последним вошел, первым вышел.
- 49. Класс Stack push (Object item) —помещает элемент item в стек; pop () — извлекает верхний элемент
- 50. Проверка парности скобок (пример Stack) import java.util.*; class StackTest1 static boolean checkParity(String expression, String open, String
- 51. Работа со строками В объектах класса string хранятся строки-константы неизменной длины и содержания. Это значительно ускоряет
- 52. Работа со строками String s = "Это" + " одна " + "строка"; компилятор выполнит так:
- 53. Класс String Класс string предоставляет девять конструкторов: string() — создается объект с пустой строкой; string (String
- 54. Класс String String (char [] charArray) — объект создается из массива charArray символов Unicode; String (byte
- 55. Класс String Конструкторы, использующие массив байтов byteArray , предназначены для создания Unicode-строки из массива байтовых ASCII-кодировок
- 56. Класс String Тексты на кириллице будут выведены неправильно. Если же на компьютере сделаны местные установки, (в
- 57. Класс String Но у кириллицы есть еще, по меньшей мере, четыре кодировки. В MS-DOS применяется кодировка
- 59. Скачать презентацию