Главная » Статьи » ООП в Python: класс, объект, наследование и конструктор с примерами

ООП в Python: класс, объект, наследование и конструктор с примерами

ООП в Python: класс, объект, наследование и конструктор с примерами

От автора: что такое класс? Класс в Python — это логическая группа данных и функций. Он дает возможность создавать структуры данных, которые содержат произвольный контент и, следовательно, легко доступны.

Это можно сравнить с обычным жизненным примером: для любого сотрудника банка, который хочет получить информацию о клиенте в Интернете, следует перейти к классу клиентов, в котором будут перечислены все его атрибуты, такие как детали транзакции, сведения о снятии наличных и депозитах, непогашенный долг и т. д.

В этом руководстве мы рассмотрим:

Как определить классы Python

Как работает наследование

Конструкторы Python

Как определить классы Python

Для определения класса необходимо учитывать следующие моменты.

Шаг 1) В Python классы определяются ключевым словом «Class»

class myClass():

Шаг 2) Внутри классов вы можете определить функции или методы, которые являются частью этого класса

def method1 (self): print "Guru99"
def method2 (self,someString): print "Software Testing:" + someString

Здесь мы определили method1, который выводит «Guru99».

Другой метод, который мы определили, это method2, который выводит «Software Testing» + SomeString. SomeString — это переменная, предоставляемая вызывающим методом

Шаг 3) Все в классе указывается с отступом, так же, как код в функции, цикле, операторе if и т. д. Все, что не имеет отступа, не находится в классе:

ПРИМЕЧАНИЕ: об использовании в Python «self»

Аргумент «self» относится к самому объекту. Отсюда и использование слова «self». Таким образом, внутри этого метода self будет ссылаться на конкретный экземпляр этого объекта, с которым работает.

Self — это имя, предпочитаемое соглашением Pythons для обозначения первого параметра методов экземпляра в Python. Это часть синтаксиса Python для доступа к членам объектов

Шаг 4) Создаем объект класса

c = myClass()

Шаг 5) Чтобы вызвать метод в классе

c.method1()
c.method2(" Testing is fun")

Обратите внимание, что когда мы вызываем method1 или method2, нам не нужно указывать ключевое слово self. Это автоматически обрабатывается средой исполнения Python.

Среда выполнения Python передает значение «self» при вызове метода экземпляра для экземпляра, независимо от того, предоставили вы его явно или нет

Вам нужно заботиться о других аргументах

Шаг 6) Вот полный код

# Example file for working with classes
class myClass(): def method1(self): print("Guru99") def method2(self,someString): print("Software Testing:" + someString) def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main()

Как работает наследование

Наследование — это функция, используемая в объектно-ориентированном программировании; оно относится к определению нового класса с небольшими изменениями или без изменения существующего класса. Новый класс называется производным классом, а тот, который он наследует, называется базовым. Python поддерживает наследование; он также поддерживает множественное наследование. Класс может наследовать атрибуты и методы поведения от другого класса, называемого подклассом.

Синтаксис наследования Python

class DerivedClass(BaseClass): body_of_derived_class

Шаг 1) Запустите следующий код

# Example file for working with classes
class myClass(): def method1(self): print("Guru99") class childClass(myClass): #def method1(self): #myClass.method1(self); #print ("childClass Method1") def method2(self): print("childClass method2") def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()

Обратите внимание, что в childClass метод method1 не определен, но он является производным от родительского myClass. Вывод «Гуру99».

Шаг 2) Раскомментируйте строки № 8 и 10. Запустите код.

Теперь method1 определен в childClass, и вывод «childClass Method» отображается правильно.

Шаг 3) Раскомментируйте строку № 9. Запустите код.

Вы можете видеть, что метод родительского класса использует синтаксис

ParentClassName.MethodName(self)

В нашем случае мы вызываем myClass.method1(self), и, как ожидается, выводится Guru99

Шаг 4) Раскомментируйте строку № 19. Запустите код.

Вызывается method2 дочернего класса, и «метод childClass2» выводится, как и ожидалось.

Конструкторы Python

Конструктор — это функция класса, которая создает объект с предопределенными значениями. Он начинается с двойного подчеркивания (_). Это метод __init__(). В приведенном ниже примере мы принимаем имя пользователя с помощью конструктора.

class User: name = "" def __init__(self, name): self.name = name def sayHello(self): print("Welcome to Guru99, " + self.name) User1 = User("Alex")
User1.sayHello()

Вывод будет: Welcome to Guru99, Alex

Пример Python 2

Приведенные выше коды являются примерами Python 3. Если вы хотите запустить Python 2, рассмотрите следующий код.

# Как определять классы Python
# Пример файла для работы с классами
class myClass(): def method1(self): print "Guru99" def method2(self,someString): print "Software Testing:" + someString def main(): # методы класса c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main() #Как работает наследование
# Пример файла для работы с классами
class myClass(): def method1(self): print "Guru99" class childClass(myClass): #def method1(self): #myClass.method1(self); #print "childClass Method1" def method2(self): print "childClass method2" def main(): # методы класса c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()

Заключение

«Класс» — это логическая группа функций и данных. Класс Python предоставляет все стандартные функции объектно-ориентированного программирования.

Механизм наследования классов

Производный класс, который переопределяет любой метод своего базового класса

Метод может вызывать метод базового класса с тем же именем

Классы Python определяются ключевыми словами «class»

Внутри классов вы можете определить функции или методы, которые являются частью класса

Все в классе имеет отступ, как и код в функции, цикле, операторе if и т. д.

Аргумент self в Python ссылается на сам объект. Self — это имя, предпочитаемое соглашением Pythons для обозначения первого параметра методов экземпляра в Python.

Среда выполнения Python автоматически передаст значение «self» при вызове метода экземпляра в экземпляре, независимо от того, предоставили вы его явно или нет

В Python класс может наследовать атрибуты и методы поведения от другого класса, называемого подклассом.

Источник: https://www.guru99.com

Редакция: Команда webformyself.