Skip to content

Instantly share code, notes, and snippets.

@Medvedoc
Created August 7, 2020 08:02
Show Gist options
  • Save Medvedoc/e0580cc1de8dddcdaacc47242a18cf91 to your computer and use it in GitHub Desktop.
Save Medvedoc/e0580cc1de8dddcdaacc47242a18cf91 to your computer and use it in GitHub Desktop.
My_tasks_Dart_ по классам и наследованию
/*
Задача.
Определите следующие классы.
1) Кубоид
Конструктор объекта для класса Cuboid должен получить ровно три аргумента в следующем порядке: длина, ширина, высота и сохранить эти три значения в length, width и height соответственно.
Класс Cuboid должен иметь геттер SurfaceArea, который возвращает площадь поверхности кубоида, и геттер Volume, который возвращает объем кубоида.
2) Куб
Класс Cube является подклассом класса Cuboid. Функция конструктора Cube должна получить только один аргумент, его длину (length) и использовать это переданное значение, чтобы установить length, width и height.
Подсказка: используйте super, чтобы передать правильные параметры.
Входные данные:
Cuboid(1, 2, 3)
Cube(2)
Выходные данные:
Cuboid Volume = 6
Cuboid Surface Area = 22
Cube Volume = 8
Cube Surface Area = 24
*/
void main() {
var myCuboid = Cuboid(1,2,3);
myCuboid.move();
var myCube = Cube(2);
myCube.move2();
}
class Cuboid {
int length;
int width;
int height;
Cuboid(this.length, this.width, this.height);
int get volume => length*width*height;
int get surfaceArea => (length*width+width*height+height*length)*2;
void move(){
print('cuboid volume $volume');
print('cuboid surfaceArea $surfaceArea');
print('\n');
}
}
class Cube extends Cuboid{
int length;
Cube(this.length):super(length, length, length);
void move2(){
print('cuboid volume $volume');
print('cuboid surfaceArea $surfaceArea');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment