Объектно-ориентированный или ООП, мы будем называть его одной из нескольких различных парадигм программирования, используемых для структурирования вашего кода таким образом, которым легче следовать. Он получает свое имя, определяя объекты, которые вы можете интерфейс в своих программах Python.
Объекты
Объекты намеренно представляют реальные объекты или такие вещи, как кошка или собака. Объекты Python имеют набор связанных свойств или поведения, таких как Meow () или Bark ().
Классы
OOP в Python основан на классе, и ваши объекты будут определены с помощью ключевого слова класса, как пример ниже:
class Cat: pass
Принцип 1 – абстракция
Абстракция – это концепция скрытия всей реализации вашего класса вдали от всего за пределами класса.
class Dog: def __init__(self, name): self.name = name print(self.name + " was adopted.") def bark(self): print("woof!") # we don't care how it works just bark spot = Dog("spot") #=> spot was adopted. spot.bark() #=> woof!
Принцип 2 – наследство
Наследование – это механизм создания детского класса, который может наследовать поведение и свойства от родительского (производного) класса.
class Animal: def __init__(self, name): self.name = name print(self.name + " was adopted.") def run(self): print("running!") class Dog(Animal): def __init__(self): super().init def bark(self): print("woof!") # new dog behavior inherited from Animal parent class spot = Dog("spot") #=> spot was adopted. spot.run() #=> running!
Принцип 3 – инкапсуляция
Инкапсуляция – это метод поддержания всего государства, переменных и методов частным, если не объявлено общедоступными.
class Fish: def __init__(self): self.__size = "big" def get_size(self): print("I'm a " + self.__size + " fish") def set_size(self, new_size): self.__size = new_size # using the getter method oscar = Fish() oscar.get_size() #=> I'm a big fish # change the size bert = Fish() bert.__size = "small" bert.get_size() #=> I'm a big fish # using setter method fin = Fish() fin.set_size("tiny") fin.get_size() #=> I'm a tiny fish
Принцип 4 – полиморфизм
Полиморфизм – это способ взаимодействия с объектами и получения разных форм или результатов.
class Animal: def __init__(self, name): self.name = name print(self.name + " was adopted.") def run(self): print("running!") class Turtle(Animal): def __init__(self): super().init def run(self): print("running slowly!") # we get back an interesting response tim = Turtle("tim") #=> tim was adopted. tim.run() #=> running slowly!
Так что теперь вы многое о том, как работает объектно-ориентированный в Python. Если вам понравился этот пост, не стесняйтесь оставить комментарий о вашем опыте с объектно-ориентированным программированием.
Счастливое кодирование, Терри угроза
Оригинал: “https://dev.to/terrythreatt/the-four-principles-of-object-oriented-programming-in-python-1jbi”