- •Основы объектно-ориентированного программирования
- •Оглавление
- •Тема 1. Введение в предмет и содержание дисциплины 4
- •Теоретический раздел
- •Тема 1. Введение в предмет и содержание дисциплины
- •Особенности Java
- •Комментарии
- •Ключевые слова
- •Литералы
- •Установка Java в переменных окружениях
- •Некоторые из особенностей элементов Java
- •Символы, строки и идентификаторы
- •Разделители
- •Операции
- •Основные приложения Java
- •Метод update()
- •Требование перерисовки
- •Тема 3. Введение в классы java. Методы и классы. Классы и наследование в java. Пакеты и интерфейсы Введение в классы Java
- •Синтаксис определения экземпляра класса
- •Модификаторы класса
- •Конструкторы
- •Ограничение доступа к элементам класса
- •Статические переменные и методы
- •Абстрактные методы
- •Методы final
- •Область видимости переменных
- •Переменные this и super
- •Тема 4. Основы ввода/вывода. Работа со строковыми данными Работа со строками
- •Потоки ввода-вывода информации
- •Байтовые и символьные потоки
- •Классы байтовых потоков
- •Классы символьных потоков
- •Предопределённые потоки
- •Тема 5. Работа с файлами Классы FileInputStream и FileOutputStream
- •Класс File
- •Класс RandomAccessFile
- •Тема 6. Методы и средства обработки исключений Методы и средства обработки исключений
- •Тема 7. Разработка апплетов, работа с графикой
- •Пакет awt
- •Класс Applet
- •Инициализация и завершение апплета
- •Запуск апплетов
- •Рисование линий в апплете
- •Рисование прямоугольников в апплете
- •Рисование эллипсов и кругов в апплете
- •Рисование дуг в апплете
- •Работа с цветом
- •Тема 8. Многопоточное программирование Интерфейсы в Java
- •Многопоточное программирование
- •Организация потоков
- •Создание нового потока
- •Тема 9. Разработка пользовательского интерфейса с использованием фреймов, элементов управления
- •События
- •Классы событий
- •Класс ActionEvent
- •Элементы-источники событий
- •Интерфейсы прослушивания событий
- •Классы пакета awt: Component, Window, Frame
- •Элементы управления Label, Button, Checkbox, Choice, List, Scrollbar
- •Элементы управления TextField и TextArea
- •Диалоговые окна
- •Контроль знаний Индивидуальная практическая работа № 1. «Объекты и классы»
- •Индивидульная практическая работа № 2. «Наследование и скрытие данных. Абстрактные классы и интерфейсы»
- •Контрольная работа № 1. «Работа с файлами»
- •Контрольная работа № 2. «Разработка пользовательского интерфейса с использованием фреймов, элементов управления»
- •Список использованных источников
Требование перерисовки
Существует общее правило: апплет организует вывод в своё окно только тогда, когда вызываются методы update( ) или paint( ). Как апплет модифицирует своё окно, когда информация изменяется?
Существует правило: апплет должен быстро возвратить управление в исполняющую систему. Он не может вызвать цикл внутри paint( ). Для этого нужно вызвать метод repaint(), который необходим для обновления информации внутри апплета:
repaint()
{ paint(Graphics g)}
Тема 3. Введение в классы java. Методы и классы. Классы и наследование в java. Пакеты и интерфейсы Введение в классы Java
Класс – это базовая конструкция Java. Класс – это шаблон для объекта. Объект – это экземпляр класса. Данные класса называются переменными экземпляра, так как каждый объект содержит собственную копию этих переменных. Код класса – это методы.
модификаторы class имя_созд._класса extends имя_супер_класса implements имя_интерфейса1, … , имя_интерфейсаN
{тело класса}
Пример класса, который читает строку с клавиатуры и выводит её на экран:
import java.io.*;
class HelloWorld {
public static void main(String args[])
{String s;
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
s=in.readLine();
System.out.println(“s= “+s);
}
}
Синтаксис определения экземпляра класса
имя_класса имя_переменной_экземпляра_класса;
BufferedReader in;
имя_переменной_экземпляра_класса = new имя_класса(параметры инициализации);
Модификаторы класса
Выделяют следующие модификаторы класса.
рublic – класс доступен для использования или расширения всем объектам вне зависимости от пакета или от каталога. Рublic-классы должны хранится в файлах с именем имя_класса.java. Для остальных классов такое соответствие рекомендуемое.
friendly – модификатор класса по умолчанию, если модификатор не определен явно для класса. Такой класс доступен только для объектов, находящихся в том же пакете. Вне пакета он выступает как private.
final – класс не может иметь подклассов, то есть производных классов. Обычно такие классы разрабатываются и используются для организации определённого стандарта реализации.
abstract – класс, в котором объявлен хотя бы один абстрактный метод. Для таких классов нельзя создавать объекты. Такие классы используются для производных классов, также для организации стандартизированных интерфейсов.
Пример:
abstract class Myclass {
abstract void actMet();
}
Множественное наследование в Java отсутствует. При расширении классов мы создаем класс, который является копией родительского класса, но с возможностью его расширять. По умолчанию создаваемый класс порождается от класса Object. При создании экземпляра класса или объекта необходимо сообщить компилятору имя переменной, используемой для обозначения экземпляра объекта, и выделить для него память при помощи операции new:
String s = new String(“abc”);
Конструкторы
Конструктор – это тот же метод класса, обладающий некоторыми особенностями:
имеет такое же название, как и класс;
вызывается сам;
не возвращает никакого значения;
Пример для перегрузки конструктора;
class worker
{ private int Age;
public String Name;
public worker(); // конструктор без параметров
{ Age = 20;}
public worker(int newAge, String newName)
{ Age = newAge;
Name = newName;
}
public int getAge()
{return Age;}
};
public class worker_pub
{ public static void main(String args[])
{ worker wrk1 = new worker( );
worker wrk2 = new worker(40, “Petrov”);
System.out.println(wrk1. getAge()+wrk1.Name);
System.out.println(wrk2. getAge()+wrk2.Name);
}
}
Результат на экране:
20
null
40
Petrov
Если мы не определяем явно конструктор, то Java создает его сам, без параметров.
