Рубрики
Без рубрики

Объектно-ориентированное программирование в Python

Python – это объектно-ориентированный язык программирования. Узнайте о объектно-ориентированном программировании в Python через классы, объекты, наследство и полиморфизм.

Автор оригинала: Pankaj Kumar.

Объектно-ориентированное программирование в Python

Объектно-ориентированные Программирование ( OOP ) относится к конструкции программного обеспечения, в котором программисты определяют тип данных структуры данных, а также типы функций, которые могут быть применены к структуре данных. Эта парадигма предоставляет функциональные возможности и шаблон поведения к структуре данных.

Эта парадигма отображается и моделирует реальные вещи вместе и описывает отношения между ними. OOP моделирует реальные объекты как объекты программного обеспечения, которые имеют данные, связанные с ними, и имеют некоторые поведенческие паттерны (функции).

Python 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.

Использованная литература: