Menu
Coddy logo textTech

Podsumowanie — budowanie kształtów

Część sekcji Programowanie obiektowe ścieżki Dart w Coddy. Lekcja 16 z 110.

challenge icon

Wyzwanie

Łatwy

Zbudujmy klasę Rectangle, która łączy wszystkie techniki tworzenia konstruktorów poznane w tym rozdziale. Utworzysz wszechstronną klasę reprezentującą kształt, którą można utworzyć na kilka sposobów.

Podzielisz kod na dwa pliki:

  • rectangle.dart: Zdefiniuj klasę Rectangle z następującymi elementami:
    • Dwa pola final double: width i height
    • Dwa obliczane pola final double: area i perimeter
    • Główny konstruktor przyjmujący width i height, który używa listy inicjalizacyjnej do obliczenia area (width × height) i perimeter (2 × (width + height))
    • Konstruktor nazwany Rectangle.square(double side), który przekazuje wartości do głównego konstruktora, ustawiając równą szerokość i wysokość
    • Konstruktor nazwany Rectangle.golden(double width), który tworzy prostokąt z użyciem złotej proporcji (height = width × 1.618), przekazując wartości do głównego konstruktora
    • Konstruktor stały Rectangle.unit(), który tworzy prostokąt o wymiarach 1×1 (będzie potrzebny do tego osobny konstruktor const)
    • Metodę display(), która wyświetla informacje o prostokącie
  • main.dart: Zaimportuj klasę prostokąta i utwórz cztery prostokąty:
    • Prostokąt o niestandardowych wymiarach: szerokość 4.0 i wysokość 3.0
    • Kwadrat o boku 5.0
    • Złoty prostokąt o szerokości 10.0
    • Prostokąt jednostkowy utworzony za pomocą konstruktora stałego (utwórz go jako stałą czasu kompilacji)
    Wywołaj display() dla każdego prostokąta w podanej wyżej kolejności.

Metoda display() powinna wyświetlać tekst dokładnie w tym formacie:

Rectangle [width]x[height] | Area: [area] | Perimeter: [perimeter]

Oczekiwany wynik:

Rectangle 4.0x3.0 | Area: 12.0 | Perimeter: 14.0
Rectangle 5.0x5.0 | Area: 25.0 | Perimeter: 20.0
Rectangle 10.0x16.18 | Area: 161.8 | Perimeter: 52.36
Rectangle 1.0x1.0 | Area: 1.0 | Perimeter: 4.0

Spróbuj swoich sił

import 'rectangle.dart';

void main() {
  // TODO: Utwórz prostokąt o niestandardowych wymiarach: szerokości 4.0 i wysokości 3.0

  // TODO: Utwórz kwadrat o boku 5.0

  // TODO: Utwórz złoty prostokąt o szerokości 10.0

  // TODO: Utwórz prostokąt jednostkowy za pomocą konstruktora stałego
  // (utwórz go jako stałą czasu kompilacji, używając 'const')

  // TODO: Wywołaj display() dla każdego prostokąta w kolejności podanej powyżej
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Dart online