Java/Основные понятия: различия между версиями
Содержимое удалено Содержимое добавлено
→От абстракции к программированию: добавил строку "public Box inner;" в класс Room |
Runor (обсуждение | вклад) мНет описания правки |
||
Строка 8:
Класс есть ключевое понятие в [[объектно-ориентированное программирование|объектно-ориентированном программировании]], под которое и заточена Java. Класс описывает содержание и поведение некой совокупности данных и действий над этими данными. Объявление класса производится с помощью ключевого слова ''class''. Пример: class < имя_класса > {// содержимое класса}.
К примеру, если мы моделируем прямоугольную комнату классом <var>Комната</var>, то данными могут быть длина, ширина и высота, двери,
=== Наследование ===
Строка 33:
Класс комната и ящик поддерживают интерфейс Capacity и могут выглядеть так:
<source lang="java" line="1">
class Room implements Capacity {
public double width;
public double height;
public double length;
public Box inner; //ссылка
@Override
public double getCapacity() {
return width * height * length;
Строка 50 ⟶ 51 :
public double length;
@Override
public double getCapacity() {
return width * height * length;
Строка 58 ⟶ 60 :
Не будем пока обращать внимания на слово '''public''', об этом мы поговорим позже в разделе [[Java/Видимость|видимость]]. А обратим внимание на то, что оба класса как две капли воды похожи друг на друга. Давайте вынесем одинаковую функциональность в общий класс-предок:
<source lang="java" line="1">
class Base implements Capacity {
public double width;
Строка 64 ⟶ 66 :
public double length;
@Override
public double getCapacity() {
return width * height * length;
Строка 78 ⟶ 81 :
Допустим, что в любой комнате обязательно находится один объект определенного объёма и объем комнаты не включает объема данного объекта. Тогда класс Room будет выглядеть так:
<source lang="java" line="1">
class Room extends Base {
public Capacity inner;
@Override
public double getCapacity() {
return super.getCapacity() - inner.getCapacity();
Строка 92 ⟶ 96 :
Ну вот и пришло время проверить все то, что мы написали. Для проверки создадим еще один класс.
<source lang="java" line="1">
class Test {
public static void main(String[] args) {
|