Python – это удивительный язык программирования, который поддерживает как функциональное программирование Paradigm, так и ориентированные объектно-ориентированные программированные парадигмы. Объектно-ориентированная система программирования Python поддерживает все четыре фундаментальных особенности общего рамок OOPS: инкапсуляция, абстракция, наследство и полиморфизм.
Что такое класс и объект?
- А класс является пучком переменных экземпляров и связанные с ними методы, предназначенные для определения типа объекта, рассматриваемого как чертеж или шаблон объектов.
- объект является примером класса с определенным набором атрибутов.
Синтаксис определения класса
Чтобы создать класс, используйте ключевое слово класс как показано ниже
class ClassName:
Типы объектов
1. Объекты класса Из документации Python; Объекты класса поддерживают два вида операций: атрибуты ссылки и создания института. Атрибуты ссылки Используйте стандартный синтаксис, используемый для всех употреблений атрибутов в Python: obj.name Отказ
- Действительные имена атрибутов – это все имена, которые были в пространстве имен класса, когда был создан объект класса. Пример:
class Student: """A simple example class""" rollno = 12 name = "Korir" def messg(self): return 'New Session will start soon.'
Из приведенного выше примера Student.Roll_no. , Имя студента являются действительными ссылками атрибутов, возвращая 12 и «Корир» соответственно. Студент. МЕССГ Возвращает функциональный объект.
В Python Я это имя для первого аргумента метода, который отличается от обычной функции. Вместо того, чтобы проходить объект в качестве параметра в способе, слово «Сам» относится к самому объекту.
Эстикция использует функциональную запись.
Чтобы создать экземпляр класса, вы называете класс, как если бы это была функция. Приведенный ниже пример создает новый экземпляр класса и присваивает этот объект локальной переменной X.
x = Student()
- Операция по созданию создает пустой объект. Поэтому класс может определить специальный метод имени init (), нравится:
def __init__(self): self.data = []
__ init __ () Метод может иметь аргументы для большей гибкости, например:
class Student: """A simple example class""" def __init__(self,sroll, sname): self.r = sroll self.n = sname x = Student(10, 'Korir') x.r, x.n
Вывод
(10, 'Korir')
2. Учреждение объектов
- Единственными операциями, помиморадами, по словам, являются ссылками атрибутов. Существует два вида допустимых имен атрибутов: атрибуты и методы данных.
Атрибуты данных соответствовать Переменные экземпляра и не нужно объявлять; Как локальные переменные, они вступают в существование, когда они сначала назначены.
Метод это функция, которая принадлежит объекту. Допустимые имена методов объекта экземпляра зависят от его класса. По определению, все атрибуты класса, которые являются функциональными объектами, определяют соответствующие методы его экземпляров.
Из нашего примера; x.messg является действительным методом ссылки, поскольку Студент. МЕССГ это функция.
3.Модные объекты
- Обычно метод называется сразу после того, как он связан:
x.messg()
- В приведении студента это вернет новую сессию строки начнется в ближайшее время.
Класс и атрибуты экземпляра
Атрибут экземпляра
- Атрибут экземпляра является переменной Python, принадлежащая только одному объекту.
- Он доступно только в объеме объекта, и он определяется внутри конструкторной функции класса. Например:
class Circle: def __ init __(self, radius): self.pi = 3.14159 self.radius = radius def area(self): return self.pi * self.radius**2 def circumference(self): return 2*self.pi * self.radius
- Как Pi, и Radius называются атрибутами экземпляра. Поскольку они принадлежат к конкретному экземпляру класса круга.
Атрибут класса
- Атрибут класса – это переменная Python, которая принадлежит классу, а не конкретному объекту.
- Он разделяется между всеми другими объектами того же класса и определяется вне функции конструктора __ in in __ (Self, …), класса. Пример:
class Circle: pi = 3.14159 def __init__(self, radius): self.radius = radius def area(self): return self.pi * self.radius**2 def circumference(self): return 2 * self.pi * self.radius
- Приведенный выше пример определяет PI в качестве атрибута класса
- Вы можете получить доступ к атрибуту класса через экземпляры класса или через имя класса:
object_name.class_attribute class_name.class_attribute
От прибора атрибута класса;
c = Circle(10) print(c.pi) print(Circle.pi)
Вывод будет;
3.14159 3.14159
Наследование
- Как и другие объектно-ориентированные языки, Python позволяет наследовать на наследство от родительской (или базовой) класса, а также нескольких наследований, в которых класс наследует атрибуты и методы более одного родителя.
- Концепция наследования обеспечивает важную особенность для объектно-ориентированного программирования, является повторное использование кода
- Синтаксис для одноразового наследования:
class DerivedClassName(BaseClassName):
- Ниже приведен простой пример одноразового наследования в Python.
class Parent(): def first(self): print('first function') class Child(Parent): def second(self): print('second function') ob = Child() ob.first() ob.second()
Вот вывод:
first function second function
- Из приведенного выше кода вы можете получить доступ к функции родительской классы с использованием объекта класса ребенка.
Подкладка
Вызов конструктора родительского класса, упомянув имя родительского класса в декларации дочернего класса, известен как подкладка. Детский класс определяет свой родительский класс по подкладкам.
Другие виды наследования;
Многократное наследование -Когда дочерний класс наследует более одного родительского класса. Многоуровневое наследство -Когда Детский класс становится родительским классом для другого ребенка. Гибридное наследование – включает в себя несколько наследство из того же базы или родительского класса. Иерархическое наследование -Использует многократное наследование, происходящее в одной программе.
Оригинал: “https://dev.to/phylis/python-classes-and-objects-51on”