LINUX.ORG.RU

История изменений

Исправление foror, (текущая версия) :

Вычисление площади треугольника и ромба.

В гугле мне выкинуло 7 формул для расчета ромба, некоторые из них эффективнее расчета через площадь треугольника. Но допустим даже вот это:

Площадь квадрата - частный случай площади прямоугольника.

Создаёшь абстрактный класс Rectangable и защищённый метод square(a, b) { return a * b; }

Наследуешь его квадратом и прямоугольником.

С треугольником и ромбом также square(b, h, boolean pair).

То, что в джаве нельзя наследовать несколько абстрактных классов - отдельный разговор. Можно выкрутиться через дефолтные методы в интерфейсе, но тоже не вариант светить защищёнными методами.

С другой стороны можно сделать так:

interface Triangable
int b()
int h()
boolean pair()

default int square() {...}

Исправление foror, :

Вычисление площади треугольника и ромба.

В гугле мне выкинуло 7 формул для расчета ромба, некоторые из них эффективнее расчета через площадь треугольника. Но допустим даже вот это:

Площадь квадрата - частный случай площади прямоугольника.

Создаёшь абстрактный класс Rectangable и защищённый метод square(a, b) { return a * b; }

Наследуешь его квадратом и прямоугольником.

С треугольником и ромбом также square(b, h, boolean pair).

То, что в джаве нельзя наследовать несколько абстрактных классов - отдельный разговор. Можно выкрутиться через дефолтные методы в интерфейсе, но тоже не вариант светить защищёнными методами.

С другой стороны можно сделать так:

interface Triangable
int b()
int h()
boolean pair()

default int square() {...}

Исходная версия foror, :

Вычисление площади треугольника и ромба.

В гугле мне выкинуло 7 формул для расчета ромба, некоторые из них эффективнее расчета через площадь треугольника. Но допустим даже вот это:

Площадь квадрата - частный случай площади прямоугольника.

Создаёшь абстрактный класс Rectangable и защищённый метод square(a, b) { return a * b; }

Наследуешь его квадратом и прямоугольником.

С треугольником и ромбом также square(b, h, boolean pair).

То, что в джаве нельзя наследовать несколько абстрактных классов - отдельный разговор. Можно выкрутиться через дефолтные методы в интерфейсе, но тоже не вариант светить защищёнными методами.

С другой стороны можно сделать так:

interface Triangable int b() int h() boolean pair()

default int square() {…}