Курси програмного забезпечення та технологічна платформа

Підручники з програмного забезпечення => Flutter => Тема розпочата: Tafzy від Квт. 06, 2025, 03:13 PM

Назва: Flutter Класи та Концепція Об’єктів: Практичний Посібник
Відправено: Tafzy від Квт. 06, 2025, 03:13 PM

Flutter — це популярний фреймворк від Google для створення кросплатформених додатків із єдиною кодовою базою. Він базується на мові програмування Dart, яка підтримує об'єктно-орієнтоване програмування (ООП). У цій статті ми розглянемо класи та об'єкти в контексті Flutter і Dart, надамо практичні приклади та пояснимо, як їх використовувати для створення додатків. Цей матеріал ідеально підійде для новачків і тих, хто хоче краще зрозуміти основи Flutter. Почнімо!

Що таке класи та об'єкти в Flutter (Dart)?
Клас — це шаблон, який визначає властивості (дані) та методи (функції), що описують поведінку об'єкта. Об'єкт — це конкретний екземпляр класу, створений на основі цього шаблону. У Flutter класи є основою для створення віджетів, моделей даних і логіки додатків.

Основні принципи:

Як створити клас у Flutter?
Клас у Dart створюється за допомогою ключового слова class. Ось простий приклад:
class Person {
  String name;  // Властивість
  int age;

  // Конструктор
  Person(this.name, this.age);

  // Метод
  void introduce() {
    print("Привіт, мене звати $name, мені $age років.");
  }
}

У цьому прикладі:

Створення об'єкта в Flutter
Щоб створити об'єкт, використовуйте ключове слово new (хоча в Dart воно необов'язкове):
void main() {
  // Створення об'єкта
  var person = Person("Олена", 25);

  // Доступ до властивостей
  print(person.name);  // Виведе: Олена

  // Виклик методу
  person.introduce();  // Виведе: Привіт, мене звати Олена, мені 25 років.
}


Використання класів у Flutter для віджетів
У Flutter класи часто використовуються для створення користувацьких віджетів. Ось приклад створення простого віджета:
import 'package:flutter/material.dart';

class GreetingWidget extends StatelessWidget {
  final String name;

  // Конструктор
  GreetingWidget(this.name);

  @override
  Widget build(BuildContext context) {
    return Text(
      "Привіт, $name!",
      style: TextStyle(fontSize: 24, color: Colors.blue),
    );
  }
}

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        body: Center(
          child: GreetingWidget("Іван"),
        ),
      ),
    ),
  );
}

У цьому прикладі:

Ініціалізація об'єктів із конструкторами
Dart підтримує різні типи конструкторів, наприклад, іменовані конструктори:
class Car {
  String brand;
  int year;

  // Основний конструктор
  Car(this.brand, this.year);

  // Іменований конструктор
  Car.unknownYear(this.brand) {
    year = 0;
  }

  void displayInfo() {
    print("Автомобіль: $brand, Рік: $year");
  }
}

void main() {
  var car1 = Car("Toyota", 2020);
  var car2 = Car.unknownYear("BMW");

  car1.displayInfo();  // Виведе: Автомобіль: Toyota, Рік: 2020
  car2.displayInfo();  // Виведе: Автомобіль: BMW, Рік: 0
}


Практичний приклад: Модель даних у Flutter
Розглянемо приклад створення класу для моделі даних, наприклад, продукту в магазині:
class Product {
  String name;
  double price;
  bool inStock;

  Product({required this.name, required this.price, this.inStock = true});

  void showDetails() {
    print("Продукт: $name, Ціна: $price грн, В наявності: $inStock");
  }
}

void main() {
  var product = Product(name: "Телефон", price: 12000.0);
  product.showDetails();  // Виведе: Продукт: Телефон, Ціна: 12000.0 грн, В наявності: true
}

Цей клас можна використовувати для зберігання та обробки даних у Flutter-додатку.

Поради для роботи з класами в Flutter

Висновок
Класи та об'єкти в Flutter (і Dart) — це основа для створення структурованого та ефективного коду. Вони дозволяють розробникам створювати як моделі даних, так і користувацькі віджети для інтерфейсу. Завдяки прикладам у цій статті ви можете почати застосовувати ці концепції у своїх проєктах. Практикуйтеся та створюйте власні класи вже сьогодні!