Advertisement
DarkClown99

Python OOP

Jul 16th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.56 KB | None | 0 0
  1. from abc import ABC, abstractmethod
  2.  
  3.  
  4. class Animal(ABC):
  5.     def __init__(self, name):
  6.         self.name = name
  7.  
  8.     @abstractmethod
  9.     def say(self):
  10.         print(self.name + " хочет что-то сказать")
  11.  
  12.     @abstractmethod
  13.     def swim(self):
  14.         print(self.name + " подходит к воде")
  15.  
  16.  
  17. class Cat(Animal):
  18.     def say(self):
  19.         # super().say()
  20.         print(self.name + " говорит Мяу")
  21.  
  22.     def swim(self):
  23.         # super().swim()
  24.         print(self.name + " боится воды")
  25.  
  26.  
  27. class Dog(Animal):
  28.     def say(self):
  29.         super().say()
  30.         print(self.name + " говорит Гав")
  31.  
  32.     def swim(self):
  33.         super().swim()
  34.         print(self.name + " плывет по-собачьи")
  35.  
  36.  
  37. class CatDog(Cat, Dog):
  38.     swim = Dog.swim
  39.  
  40.     def say(self):
  41.         super().say()
  42.  
  43.  
  44. cat = Cat("Кот")
  45. dog = Dog("Пес")
  46. catDog = CatDog("КотоПес")
  47.  
  48. cat.say()
  49. # Кот хочет что-то сказать
  50. # Кот говорит Мяу
  51.  
  52. dog.say()
  53. # Пес хочет что-то сказать
  54. # Пес говорит Гав
  55.  
  56. catDog.say()
  57. # КотоПес хочет что-то сказать
  58. # КотоПес говорит Гав
  59. # КотоПес говорит Мяу
  60.  
  61. cat.swim()
  62. # Кот подходит к воде
  63. # Кот боится воды
  64.  
  65. dog.swim()
  66. # Пес подходит к воде
  67. # Пес плывет по-собачьи
  68.  
  69. catDog.swim()
  70. # КотоПес подходит к воде
  71. # КотоПес плывет по-собачьи
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement