Автор оригинала: Pankaj Kumar.
Объектно-ориентированное программирование в Python
Объектно-ориентированные Программирование ( OOP ) относится к конструкции программного обеспечения, в котором программисты определяют тип данных структуры данных, а также типы функций, которые могут быть применены к структуре данных. Эта парадигма предоставляет функциональные возможности и шаблон поведения к структуре данных.
Эта парадигма отображается и моделирует реальные вещи вместе и описывает отношения между ними. OOP моделирует реальные объекты как объекты программного обеспечения, которые имеют данные, связанные с ними, и имеют некоторые поведенческие паттерны (функции).
Классы в Python
Класс – это план функциональности объекта Отказ Классы используются для создания новых пользовательских структур данных, которые содержат произвольные данные. В случае животного мы могли бы создать класс животных для отслеживания свойств о животном, как имя и возраст.
Рассмотрим класс как план животного с этикетками. Он содержит все детали о имени, размере и т. Д. На основе этих описаний мы можем учиться о животном. Здесь животное является объектом.
Синтаксис:
class class_name: pass
Пример:
class Animal: pass
Объекты в Питоне
Объект является экземпляром класса Отказ Когда определяется класс, определяется только описание объекта. Следовательно, никакая память не выделяется. Объект представляет класс вместе с его функциональностью и поведением.
Синтаксис:
object_name = Class_name(argument list)
Пример:
class Dog: # class attribute species = "animal" # instance attribute def __init__(self, name, age): self.name = name self.age = age # instantiate the Dog class i.e create objects A = Dog("Blu", 10) B = Dog("Woo", 15) # access the class attributes print("A is a {}".format(A.__class__.species)) print("B is also a {}".format(B.__class__.species)) # access the instance attributes print("{} is {} years old".format( A.name, A.age)) print("{} is {} years old".format( B.name, B.age))
Выход :
A is a animal B is also a animal A is 10 years old B is 15 years old
Абстракция данных в Python
Абстракция используется для скрытия внутренних деталей и отображение необходимых функций Отказ Абстракция означает отображение содержимого таким образом, что только основные функции отображаются пользователю в соответствии с привилегиями, а остальные внутренние рабочие пребывания скрыты.
Инкапсуляция в Python
Инкапсуляция относится к связыванию данных и функции в единый блок Отказ Класс представляет собой инкапсуляцию, поскольку она связывает функциональность и поведение в одно устройство и представляет его как объекты.
Наследование в Питоне
В мире объектно-ориентированного программирования (ООП) наследство относится к механизму возможности класса для получения или расширения свойств от другого класса в прогоне. Это свойство позволяет полученным классу приобретать свойства или черты базового класса.
Наследование считается одним из важнейших аспектов ООП, потому что оно служит особенностью повторное использование , таким образом, создавая кусок кода более надежным.
Пример:
# Base class class Dog: # Class attribute species = 'mammal' # Instance attributes def __init__(self, name, age): self.name = name self.age = age # instance method def description(self): return "{} is {} years old".format(self.name, self.age) # instance method def speak(self, sound): return "{} says {}".format(self.name, sound) # Derived class (inherits from Dog class) class Bulldog(Dog): def run(self, speed): return "{} runs {}".format(self.name, speed) # Derived class inherits attributes and # behavior from the parent class Jim = Bulldog("Jim", 12) print(Jim.description()) # Derived class has specific attributes # and behavior as well print(Jim.run("slowly"))
Выход :
Jim is 12 years old Jim runs slowly
Полиморфизм в Питоне
Это явление относится к способности иметь возможность отображать в нескольких формах.
Предположим, нам нужно раскрасить форму. Есть несколько вариантов формы (прямоугольник, квадрат, круг). Однако мы могли бы использовать тот же метод для цвета любой формы. Эта концепция называется Полиморфизм Отказ
Пример:
class Rectangle: def draw(self): print("Drawing a rectangle.") class Triangle: def draw(self): print("Drawing a Triangle.") # common interface def draw_shape(Shape): Shape.draw() #instantiate objects A = Rectangle() B = Triangle() # passing the object draw_shape(A) draw_shape(B)
Выход :
Drawing a Rectangle. Drawing a Triangle.