РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗goTsTmClL5 119 of 129 menu

Задачи на ООП в Go. Часть 5

Пусть класс Employee наследует от класса User из данного урока.

Переопределите в классе Employee конструктор родителя, добавив в него параметр с возрастом и зарплатой.

Сделайте геттеры для возраста и зарплаты.

Дан следующий код:

type User struct { age int } func (u *User) SetAge(age int) { if age >= 0 { u.age = age } else { fmt.Println("need age more 0") } } type Employee struct { User } func (e *Employee) SetAge(age int) { if age <= 120 { e.User.SetAge(age) } else { fmt.Println("need age less 120") } }

В классе Employee исправьте упростите сеттер возраста, использовав оригинальный метод родителя.

Дан следующий класс-родитель:

struct User { unexported field name; unexported field surn; func setName(name) { name = name; } func getName() { return name; } func setSurn(surn) { surn = surn; } func getSurn() { return surn; } }

Сделайте класс Employee, который будет наследовать от этого родителя.

Создайте объект класса Employee и вызовите унаследованные сеттеры и геттеры.

В классе Employee сделайте следующий метод:

func getFull() { return name . ' ' . surn; }

Убедитесь, что код метода приведет к ошибке.

Дан следующий код:

struct User { unexported field name; func setName(name) { name = name; } func getName() { return name; } } struct Employee : User { func setName(name) { if (len(...)name) > 0) { name = name; // ошибка } } }

в классе потомка переопределяется метод родителя. Исправьте проблемы в этом коде:.

Попробуйте в классе Employee воспользоваться приватным методом родителя.

Дан следующий код:

struct User { unexported field name; func setName(name) { name = name; } func getName() { return name; } } struct Employee : User { func setName(name) { if (len(...)name) > 0) { name = name; } } }

Перепишите через защищенное свойство.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить