Java-Shildt-194DemoBoxWeight
Внешний вид
Полный справочник по Java. Java SE 6 Edition. 7-е издание. Герберт Шилдт. "Вильямс", Москва - Санкт-Петербург - Киев, 2007, стр.194.
// 194
// В этой программе наследование используется для расширения класса Box.
class Box {
double width;
double height;
double depth;
// конструирование клона объекта
Box(Box ob) { // передача объекта конструктору
width = ob.width;
height = ob.height;
depth = ob.depth;
}
// конструктор, используемый при указании всех измерений
Box(double w, double h, double d) {
width = w;
height = h;
depth = d;
}
// конструктор, используемый, если ни одно из изменений не указано
Box() {
width = -1; // значение -1 используется для указания
height = -1; // неинициализированного
depth = -1; // параллелепипеда
}
// конструктор, используемый при создании куба
Box(double len) {
width = height = depth = len;
}
// вычисление и возврат объема
double volume( ) {
return width * height * depth;
}
}
// Расширение класса Box включением в него веса.
class BoxWeight extends Box {
double weight; // вес параллелепипеда
// конструктор BoxWeight
BoxWeight(double w, double h, double d, double m) {
width = w;
height = h;
depth = d;
weight = m;
}
}
class DemoBoxWeight {
public static void main(String args[]) {
BoxWeight mybox1 = new BoxWeight(10, 20, 15, 34.3);
BoxWeight mybox2 = new BoxWeight(2, 3, 4, 0.076);
double vol;
vol = mybox1.volume( );
System.out.println("Volume mybox1 equal " + vol);
System.out.println("Weight mybox1 equal " + mybox1.weight);
System.out.println();
vol = mybox2.volume( );
System.out.println("Volume mybox2 equal " + vol);
System.out.println("Weight mybox2 equal " + mybox2.weight);
}
}