class Person {
String name; // Властивість
int age;
// Конструктор
Person(this.name, this.age);
// Метод
void introduce() {
print("Привіт, мене звати $name, мені $age років.");
}
}
void main() {
// Створення об'єкта
var person = Person("Олена", 25);
// Доступ до властивостей
print(person.name); // Виведе: Олена
// Виклик методу
person.introduce(); // Виведе: Привіт, мене звати Олена, мені 25 років.
}
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("Іван"),
),
),
),
);
}
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
}
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
}
// Базовий клас
class Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
print("Ця тварина видає звук!")
}
}
// Похідний клас
class Dog: Animal {
func bark() {
print("\(name) гавкає: Гав-гав!")
}
}
// Використання
let myDog = Dog(name: "Рекс")
myDog.makeSound() // Виведе: Ця тварина видає звук!
myDog.bark() // Виведе: Рекс гавкає: Гав-гав!
class Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
print("Ця тварина видає звук!")
}
}
class Cat: Animal {
override func makeSound() {
print("\(name) нявкає: Мяу-мяу!")
}
}
let myCat = Cat(name: "Мурка")
myCat.makeSound() // Виведе: Мурка нявкає: Мяу-мяу!
class Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
print("Ця тварина видає звук!")
}
}
class Bird: Animal {
override func makeSound() {
super.makeSound() // Виклик методу базового класу
print("\(name) співає: Чірік-чірік!")
}
}
let myBird = Bird(name: "Чікі")
myBird.makeSound()
// Виведе:
// Ця тварина видає звук!
// Чікі співає: Чірік-чірік!
final class Animal {
var name: String
init(name: String) {
self.name = name
}
final func makeSound() {
print("Ця тварина видає звук!")
}
}
// class Dog: Animal { } // Помилка: спадкування від final класу неможливе
class Vehicle {
var speed: Int
init(speed: Int) {
self.speed = speed
}
func move() {
print("Транспорт рухається зі швидкістю \(speed) км/год.")
}
}
class Car: Vehicle {
var brand: String
init(speed: Int, brand: String) {
self.brand = brand
super.init(speed: speed)
}
override func move() {
print("Автомобіль \(brand) їде зі швидкістю \(speed) км/год.")
}
}
let myCar = Car(speed: 120, brand: "Tesla")
myCar.move() // Виведе: Автомобіль Tesla їде зі швидкістю 120 км/год.