Menu
Coddy logo textTech

Классы и объекты

Часть раздела Объектно-ориентированное программирование путешествия по Dart на Coddy — урок 4 из 110.

Классы и объекты служат разным целям. Класс — это чертеж, а объект — это то, что вы создаете по этому чертежу.

Вот пример класса с переменными экземпляра:

class Dog {
  String name = '';
  String breed = '';
}

Переменные, объявленные внутри класса (такие как name и breed), принадлежат каждому объекту, созданному на основе этого класса. Мы подробно изучим переменные экземпляра позже.

Создайте несколько объектов одного и того же класса:

Dog dog1 = Dog();
Dog dog2 = Dog();

Каждый объект может иметь свои собственные уникальные значения для этих переменных:

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

Используйте оператор «точка» . для доступа к переменным объекта:

print('${dog1.name} is a ${dog1.breed}');
print('${dog2.name} is a ${dog2.breed}');

Вывод:

Nicky is a Siberian Husky
Teemon is a Labrador

Ключевое отличие: Класс Dog определяет структуру, общую для всех собак, в то время как dog1 и dog2 являются отдельными объектами со своими собственными уникальными данными.

challenge icon

Задание

Легко

Дополните код, чтобы создать два объекта студента из класса Student и установить их переменные.

  • student.dart: Содержит класс Student (заблокировано)
  • driver.dart: Создайте два объекта и установите их данные

Установите следующие значения:

  • student1: имя — 'Alice' с оценкой 'A'
  • student2: имя — 'Bob' с оценкой 'B'

Шпаргалка

Класс — это чертеж, который определяет структуру и поведение объектов. Объект — это экземпляр, созданный на основе класса.

Определите класс с переменными экземпляра:

class Dog {
  String name = '';
  String breed = '';
}

Создайте объекты на основе класса:

Dog dog1 = Dog();
Dog dog2 = Dog();

Получайте доступ к переменным объекта и изменяйте их с помощью оператора «точка» .:

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

Доступ к переменным объекта:

print('${dog1.name} is a ${dog1.breed}');
// Вывод: Nicky is a Siberian Husky

Попробуйте сами

import 'student.dart';

void main() {
  // TODO: Создайте два объекта Student


  // TODO: Установите name и grade для student1 (name: 'Alice', grade: 'A')


  // TODO: Установите name и grade для student2 (name: 'Bob', grade: 'B')


  print('${student1.name} has grade ${student1.grade}');
  print('${student2.name} has grade ${student2.grade}');
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование