Для наследования одного класса от другого применяется какой оператор?
extends
implements
inherits
extending
Для наследования одного класса от другого применяется оператор extends
Что будет выведено на консоль при выполнении следующей программы и почему?
void main (){ Employee bob = Employee("Bob"); bob.display(); } class Person{ String name; Person(this.name){ print("Создан пользователь $name"); } void display(){ print("Name: $name"); } } class Employee extends Person{ }
При выполнении данной программы она завершится с ошибкой, соответственно на консоли мы увидим только описание ошибки. Поскольку классы в Dart не наследуют конструкторы, то для создания объекта Employee мы не можем использовать вызов
Employee bob = Employee("Bob");
Что будет выведено на консоль при выполнении следующей программы и почему?
void main (){ Employee bob = Employee("Bob"); bob.display(); } class Person{ String name; Person(this.name){ print("Создан пользователь $name"); } void display(){ print("Name: $name"); } } class Employee extends Person{ Employee(String name){ this.name = name; } }
Данная программа завершится с ошибкой, поскольку производные классы при определении конструктора должны обязательно вызывать конструктор базового класса (если базовый класс явно определяет конструкторы). В данном случае конструктор класса Employee не вызывает конструктор класса Person, соответственно мы получим ошибку.
Что будет выведено на консоль при выполнении следующей программы и почему?
void main (){ Employee bob = Employee("Bob"); bob.display(); } class Person{ String? name; void display(){ print("Name: $name"); } } class Employee extends Person{ Employee(String name){ this.name = name; } }
На консоль будет выведена строка "Name: Bob", так как вызывается метод display, определенный в базовом классе Person.