HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Термины - что пригодится для понимания</a></li>
1 <ul><li><a>Термины - что пригодится для понимания</a></li>
2 <li><a>Несколько слов о методах</a></li>
2 <li><a>Несколько слов о методах</a></li>
3 <li><a>Понятие класса</a><ul><li><a>Абстракции</a></li>
3 <li><a>Понятие класса</a><ul><li><a>Абстракции</a></li>
4 <li><a>Абстрактный класс</a><ul><li><a>Наглядный пример</a></li>
4 <li><a>Абстрактный класс</a><ul><li><a>Наглядный пример</a></li>
5 <li><a>Наследование</a></li>
5 <li><a>Наследование</a></li>
6 </ul></li>
6 </ul></li>
7 <li><a>Абстрактные методы</a></li>
7 <li><a>Абстрактные методы</a></li>
8 </ul></li>
8 </ul></li>
9 </ul><p>Джава - распространенный и достаточно легкий язык программирования. Приложив должные усилия, освоить его сможет любой.</p>
9 </ul><p>Джава - распространенный и достаточно легкий язык программирования. Приложив должные усилия, освоить его сможет любой.</p>
10 <p>Для того, чтобы писать на Java качественный софт, требуется изучить его базовые принципы, инструменты и функции. Немаловажную роль здесь играют объекты и функции. А еще - абстрактные классы Java. Именно о них пойдет речь далее.</p>
10 <p>Для того, чтобы писать на Java качественный софт, требуется изучить его базовые принципы, инструменты и функции. Немаловажную роль здесь играют объекты и функции. А еще - абстрактные классы Java. Именно о них пойдет речь далее.</p>
11 <h2>Термины - что пригодится для понимания</h2>
11 <h2>Термины - что пригодится для понимания</h2>
12 <p>Перед тем, как начинать изучать выбранное направление, стоит запомнить несколько ключевых понятий. Они пригодятся всем программистам, желающим писать софт на языках с объектно-ориентированными концепциями:</p>
12 <p>Перед тем, как начинать изучать выбранное направление, стоит запомнить несколько ключевых понятий. Они пригодятся всем программистам, желающим писать софт на языках с объектно-ориентированными концепциями:</p>
13 <ol><li>Алгоритмы - инструкции, принципы и правила, которые необходимы для решения поставленной перед разработчиком задачи.</li>
13 <ol><li>Алгоритмы - инструкции, принципы и правила, которые необходимы для решения поставленной перед разработчиком задачи.</li>
14 <li>API - интерфейс прикладного программирования. Процедуры и правила, а также протоколы, помогающие ПО взаимодействовать друг с другом и разнообразными службами.</li>
14 <li>API - интерфейс прикладного программирования. Процедуры и правила, а также протоколы, помогающие ПО взаимодействовать друг с другом и разнообразными службами.</li>
15 <li>Аргумент - передаваемое в функцию или команду значение.</li>
15 <li>Аргумент - передаваемое в функцию или команду значение.</li>
16 <li>Переменная - единица хранения информации. Именованная ячейка памяти.</li>
16 <li>Переменная - единица хранения информации. Именованная ячейка памяти.</li>
17 <li>Объект - связанные между собой переменные, структурные данные и константы. Они обрабатываются и выбираются совместно.</li>
17 <li>Объект - связанные между собой переменные, структурные данные и константы. Они обрабатываются и выбираются совместно.</li>
18 <li>Константа - значение, которое по ходу выполнения кода никогда не меняется.</li>
18 <li>Константа - значение, которое по ходу выполнения кода никогда не меняется.</li>
19 <li>Массив - список или группа схожих типов значений, прошедших предварительную группировку. Множество электронных материалов.</li>
19 <li>Массив - список или группа схожих типов значений, прошедших предварительную группировку. Множество электронных материалов.</li>
20 <li>Ключевое слово - слово, зарезервированное языком программирования. Необходимо для обозначения операций, команд, функций.</li>
20 <li>Ключевое слово - слово, зарезервированное языком программирования. Необходимо для обозначения операций, команд, функций.</li>
21 <li>Указатель - переменная, содержащая адрес места в памяти.</li>
21 <li>Указатель - переменная, содержащая адрес места в памяти.</li>
22 </ol><p>Также пользователю предстоит выяснить, что собой представляет метод и абстракция. Все это пригодится при попытках рассмотреть наглядный пример упомянутого ранее вида классов.</p>
22 </ol><p>Также пользователю предстоит выяснить, что собой представляет метод и абстракция. Все это пригодится при попытках рассмотреть наглядный пример упомянутого ранее вида классов.</p>
23 <h2>Несколько слов о методах</h2>
23 <h2>Несколько слов о методах</h2>
24 <p>Метод - это блок кода, который имеет имя. Он объявляется внутри заданного класса. Содержит законченную последовательность операций, необходимых для решения поставленной изначально задачи. Соответствующий блок допускается использовать многократно.</p>
24 <p>Метод - это блок кода, который имеет имя. Он объявляется внутри заданного класса. Содержит законченную последовательность операций, необходимых для решения поставленной изначально задачи. Соответствующий блок допускается использовать многократно.</p>
25 <p>Метод - функция, указывающая на то, что умеет делать имеющийся класс. В Java выступает членом classes. Обладает различными модификаторами доступа:</p>
25 <p>Метод - функция, указывающая на то, что умеет делать имеющийся класс. В Java выступает членом classes. Обладает различными модификаторами доступа:</p>
26 <ol><li>Public - публичный. Методы и поля видимы другим классам в коде в пределах пакета или из внешних пакетов.</li>
26 <ol><li>Public - публичный. Методы и поля видимы другим классам в коде в пределах пакета или из внешних пакетов.</li>
27 <li>Protected - "частный".</li>
27 <li>Protected - "частный".</li>
28 <li>Private - приватный. Методы и поля доступны в пределах заданного класса.</li>
28 <li>Private - приватный. Методы и поля доступны в пределах заданного класса.</li>
29 <li>По умолчанию. Применяется, когда модификатор отсутствует вовсе.</li>
29 <li>По умолчанию. Применяется, когда модификатор отсутствует вовсе.</li>
30 </ol><p>Теперь стоит рассмотреть абстрактные классы и методы более подробно.</p>
30 </ol><p>Теперь стоит рассмотреть абстрактные классы и методы более подробно.</p>
31 <h2>Понятие класса</h2>
31 <h2>Понятие класса</h2>
32 <p>Class в Java - это шаблон или описание имеющегося в коде объекта. Object - это экземпляр класса. Пример - аналогия с человеком. У каждого есть две руки, ноги, глаза, туловище и так далее. Есть некий шаблон - это класс. Реально существующий человек - объект.</p>
32 <p>Class в Java - это шаблон или описание имеющегося в коде объекта. Object - это экземпляр класса. Пример - аналогия с человеком. У каждого есть две руки, ноги, глаза, туловище и так далее. Есть некий шаблон - это класс. Реально существующий человек - объект.</p>
33 <p>Задается класс при помощи ключевого слова class. Далее пишется его название и в фигурные скобках - описание. А именно - указываются поля и method.</p>
33 <p>Задается класс при помощи ключевого слова class. Далее пишется его название и в фигурные скобках - описание. А именно - указываются поля и method.</p>
34 <h3>Абстракции</h3>
34 <h3>Абстракции</h3>
35 <p>Абстракция - качество общения с идеями, а не некоторыми событиями. Пример - электронная почта. Тут все скрыто от обычного пользователя: протоколы, а также детали происходящего во время отправки и получения сообщений. Но для того, чтобы написать и отослать e-mail, клиент может просто напечатать его содержимое. Далее - щелкнуть по кнопке, отвечающей за реализацию соответствующей функции.</p>
35 <p>Абстракция - качество общения с идеями, а не некоторыми событиями. Пример - электронная почта. Тут все скрыто от обычного пользователя: протоколы, а также детали происходящего во время отправки и получения сообщений. Но для того, чтобы написать и отослать e-mail, клиент может просто напечатать его содержимое. Далее - щелкнуть по кнопке, отвечающей за реализацию соответствующей функции.</p>
36 <p>Говоря об абстрактных классах в Джаве, нужно понимать, что собой представляет абстракция. Это - процедура скрытия деталей реализации от юзера. В конечном итоге пользователь увидит только итоговый функционал. Говоря простым языком - предоставляется информация о том, что делает объект, а не как он справляется с задачей.</p>
36 <p>Говоря об абстрактных классах в Джаве, нужно понимать, что собой представляет абстракция. Это - процедура скрытия деталей реализации от юзера. В конечном итоге пользователь увидит только итоговый функционал. Говоря простым языком - предоставляется информация о том, что делает объект, а не как он справляется с задачей.</p>
37 <h3>Абстрактный класс</h3>
37 <h3>Абстрактный класс</h3>
38 <p>Класс, который содержит в себе ключевое слово abstract носит название абстрактного. Здесь программист должен запомнить следующее:</p>
38 <p>Класс, который содержит в себе ключевое слово abstract носит название абстрактного. Здесь программист должен запомнить следующее:</p>
39 <ul><li>abstract class может содержать абстрактные методы Java - без тела (public void get(););</li>
39 <ul><li>abstract class может содержать абстрактные методы Java - без тела (public void get(););</li>
40 <li>если обычный класс имеет хотя бы один единственный абстрактный метод, этот class объявляется абстрактным;</li>
40 <li>если обычный класс имеет хотя бы один единственный абстрактный метод, этот class объявляется абстрактным;</li>
41 <li>реализовать абстрактный класс нельзя;</li>
41 <li>реализовать абстрактный класс нельзя;</li>
42 <li>для использования рассматриваемого элемента кода требуется наследовать его из другого класса - для обеспечения реализации методов абстрактного типа в его пределах.</li>
42 <li>для использования рассматриваемого элемента кода требуется наследовать его из другого класса - для обеспечения реализации методов абстрактного типа в его пределах.</li>
43 </ul><p>Если применяется наследование абстрактного класса, требуется обеспечить полную реализацию всех соответствующих методов в нем.</p>
43 </ul><p>Если применяется наследование абстрактного класса, требуется обеспечить полную реализацию всех соответствующих методов в нем.</p>
44 <h4><em>Наглядный пример</em></h4>
44 <h4><em>Наглядный пример</em></h4>
45 <p>Вот код, который продемонстрирует рассматриваемый компонент:</p>
45 <p>Вот код, который продемонстрирует рассматриваемый компонент:</p>
46 /* File name : Employee.java */ public abstract class Employee { private String name; private String address; private int number; public Employee(String name, String address, int number) { System.out.println("Собираем данные о работнике"); this.name = name; this.address = address; this.number = number; } public double computePay() { System.out.println("Внутри Employee computePay"); return 0.0; } public void mailCheck() { System.out.println("Отправляем чек " + this.name + " " + this.address); } public String toString() { return name + " " + address + " " + number; } public String getName() { return name; } public String getAddress() { return address; } public void setAddress(String newAddress) { address = newAddress; } public int getNumber() { return number; } }<p>Здесь можно увидеть класс Employee - он такой же, как обычный класс в Джаве. Он абстрактный, но имеет три поля, а также 7 методов и один конструктор.</p>
46 /* File name : Employee.java */ public abstract class Employee { private String name; private String address; private int number; public Employee(String name, String address, int number) { System.out.println("Собираем данные о работнике"); this.name = name; this.address = address; this.number = number; } public double computePay() { System.out.println("Внутри Employee computePay"); return 0.0; } public void mailCheck() { System.out.println("Отправляем чек " + this.name + " " + this.address); } public String toString() { return name + " " + address + " " + number; } public String getName() { return name; } public String getAddress() { return address; } public void setAddress(String newAddress) { address = newAddress; } public int getNumber() { return number; } }<p>Здесь можно увидеть класс Employee - он такой же, как обычный класс в Джаве. Он абстрактный, но имеет три поля, а также 7 методов и один конструктор.</p>
47 <p>Можно создать new экземпляр класса Employee:</p>
47 <p>Можно создать new экземпляр класса Employee:</p>
48 /* File name : AbstractDemo.java */ public class AbstractDemo { public static void main(String [] args) { /* Следующие действия неверны и выдадут ошибку */ Employee e = new Employee("Иванов И.И.", "Минск, Беларусь", 43); System.out.println("\n Вызываем mailCheck, используя ссылку Employee --"); e.mailCheck(); } }<p>Но при компиляции система выдаст ошибку.</p>
48 /* File name : AbstractDemo.java */ public class AbstractDemo { public static void main(String [] args) { /* Следующие действия неверны и выдадут ошибку */ Employee e = new Employee("Иванов И.И.", "Минск, Беларусь", 43); System.out.println("\n Вызываем mailCheck, используя ссылку Employee --"); e.mailCheck(); } }<p>Но при компиляции система выдаст ошибку.</p>
49 <h4><em>Наследование</em></h4>
49 <h4><em>Наследование</em></h4>
50 <p>Вот код, который поможет рассмотреть наглядный пример наследования:</p>
50 <p>Вот код, который поможет рассмотреть наглядный пример наследования:</p>
51 <p>Здесь:</p>
51 <p>Здесь:</p>
52 <ol><li>Не получится создать экземпляр класса Employee.</li>
52 <ol><li>Не получится создать экземпляр класса Employee.</li>
53 <li>Можно создать экземпляр Salary. Его используют для получения доступа к трем полям и методам Employee.</li>
53 <li>Можно создать экземпляр Salary. Его используют для получения доступа к трем полям и методам Employee.</li>
54 </ol><p>После обработки кода на экране появится следующий результат:</p>
54 </ol><p>После обработки кода на экране появится следующий результат:</p>
55 <h3>Абстрактные методы</h3>
55 <h3>Абстрактные методы</h3>
56 <p>Пример абстрактного класса Java был рассмотрен выше. Чтобы class содержал конкретный метод, но фактическая реализация осуществлялась за счет дочерних классов, можно объявить в "родителе" абстрактный method.</p>
56 <p>Пример абстрактного класса Java был рассмотрен выше. Чтобы class содержал конкретный метод, но фактическая реализация осуществлялась за счет дочерних классов, можно объявить в "родителе" абстрактный method.</p>
57 <p>Здесь стоит запомнить, что:</p>
57 <p>Здесь стоит запомнить, что:</p>
58 <ul><li>для объявления используется слово abstract;</li>
58 <ul><li>для объявления используется слово abstract;</li>
59 <li>ключевое слово ставится перед именем метода при его объявлении;</li>
59 <li>ключевое слово ставится перед именем метода при его объявлении;</li>
60 <li>абстрактный метод имеет сигнатуру method, но не имеет тела;</li>
60 <li>абстрактный метод имеет сигнатуру method, но не имеет тела;</li>
61 <li>вместо фигурных скобок ставится точка с запятой в конце.</li>
61 <li>вместо фигурных скобок ставится точка с запятой в конце.</li>
62 </ul><p>Специализированные дистанционные компьютерные курсы помогут лучше разобраться в том, что такое public abstract void, extends, classes и не только.</p>
62 </ul><p>Специализированные дистанционные компьютерные курсы помогут лучше разобраться в том, что такое public abstract void, extends, classes и не только.</p>
63 <a></a>
63 <a></a>