💀
Второй курс РПО
Разработка программных модулей
Разработка программных модулей
  • Модели разработки
  • Ошибки и отладка программ
  • Средства разработки алгоритмов
    • Основные принципы и стадии тестирования
  • Сложностные классы
  • Эмуляторы операционных систем
  • Сложность сортировки
  • Уровни тестирования
  • Задание №1
  • Регрессионное тестирование
  • Тестирование «белым ящиком»
  • Как делать оценку сложности?
  • Алгоритмы и сложность
  • Тестирование "белым ящиком" №2
  • Сложность алгоритмов
  • Тестирование "белым ящиком" №3
  • Тестирование "Чёрным ящиком»" №1
  • Тестирование "Черным ящиком" №2
  • Оценка сложности эвристических алгоритмов
  • Принципы ООП
  • Тестирование "Черным ящиком" №3
  • КТ - В3
  • Модульное тестирование
    • С кодами
  • Модульное тестирование
  • Абстрактные классы и интерфейсы в Python
  • Структуры в Python по аналогии с C++
    • Диалоги гениев
  • Делегаты в Python
    • Ещё более не смешные диалоги
  • Регулярные выражения в Python от простого к сложному
  • Python: Коллекции
  • Параметризованные классы (шаблоны)
  • Указатели и операции со списками в Python
  • Интеграционное тестирование
  • Работа с классами. Перегрузка методов
  • Определение операций в классе.
  • Создание наследованных классов
  • Интеграционное тестирование
  • Работа с объектами через интерфейсы
  • Использование стандартных интерфейсов
  • Работа с типом данных "Структура"
  • Коллекции. Параметризованные классы
  • Использование регулярных выражений
  • Операции со списками
  • Что такое паттерны проектирования?
  • Шпаргалка по шаблонам проектирования
    • [Habr] Шпаргалка
  • UML-диаграммы проектирования
  • Использование основных шаблонов.
  • Использование каких то там шаблонов
  • 15-я Практическая
  • 16-я Практическая
  • Graphviz Online
  • 17-я Практическая
  • Введение в теорию программирования: Объектно-ориентированный подход
  • Документирование софта и стандарты
  • C# Ввод и вывод
  • Оптимизация кода: просто о главном
  • Автоматизация разработки технической документации
  • Автоматизированное документирование и первичные данные
  • ADO.NET что это?
Powered by GitBook
On this page
  • 1. Пример 1: Перегрузка метода с разным количеством аргументов
  • Тестирование
  • 2. Пример 2: Переопределение метода в дочернем классе
  • Тестирование
  • 3. Пример 3: Перегрузка метода с разными типами данных
  • Тестирование
  • Результаты тестирования

Работа с классами. Перегрузка методов

22.01.2025 - Практическая работа №5. Работа с классами. Перегрузка методов

1. Пример 1: Перегрузка метода с разным количеством аргументов

class Calculator:
    def add(self, *args):
        return sum(args)

Здесь метод add принимает любое количество чисел и складывает их.

Тестирование

calc = Calculator()
print(calc.add(1, 2))  # Ожидаемый результат: 3
print(calc.add(1, 2, 3, 4))  # Ожидаемый результат: 10
print(calc.add(10, 20, 30))  # Ожидаемый результат: 60

2. Пример 2: Переопределение метода в дочернем классе

class Animal:
    def sound(self):
        return "Some sound"

class Dog(Animal):
    def sound(self):
        return "Bark"

class Cat(Animal):
    def sound(self):
        return "Meow"

В данном примере метод sound переопределяется в дочерних классах Dog и Cat.

Тестирование

dog = Dog()
cat = Cat()
print(dog.sound())  # Ожидаемый результат: Bark
print(cat.sound())  # Ожидаемый результат: Meow

3. Пример 3: Перегрузка метода с разными типами данных

class Multiplier:
    def multiply(self, x, y=None):
        if y is None:
            return x * 2
        return x * y

Здесь метод multiply работает по-разному в зависимости от того, передан ли второй аргумент.

Тестирование

multiplier = Multiplier()
print(multiplier.multiply(5))  # Ожидаемый результат: 10
print(multiplier.multiply(5, 3))  # Ожидаемый результат: 15
print(multiplier.multiply(7))  # Ожидаемый результат: 14

Результаты тестирования

  1. Метод add корректно складывает любое количество переданных чисел.

  2. Метод sound в классе Dog выводит "Bark", а в классе Cat — "Meow".

  3. Метод multiply работает с одним аргументом, умножая его на 2, или с двумя аргументами, возвращая их произведение.

PreviousИнтеграционное тестированиеNextОпределение операций в классе.

Last updated 4 months ago