Python ООП: Класс, Объект, Наследование и Конструктор
⚡ Умное резюме
Объектно-ориентированное программирование в Python Этот подход организует код вокруг классов и объектов, объединяя связанные данные и поведение. Он показывает, как определять классы, создавать объекты, применять наследование и инициализировать атрибуты с помощью конструкторов.

ООП в Python
ООП в Python — это подход к программированию, который фокусируется на использовании объектов и классов так же, как и другие общие языки программирования. Объектами могут быть любые объекты реального мира. Python позволяет разработчикам разрабатывать приложения, используя подход ООП, уделяя особое внимание возможности повторного использования кода. Очень легко создавать классы и объекты в Python.
Что такое класс?
Класс в Python является логической группойping Это позволяет создавать структуры данных и функций, содержащие произвольное содержимое и, следовательно, легкодоступные.
Например, любой сотрудник банка, желающий получить информацию о клиенте в Интернете, должен перейти на класс клиентагде будут перечислены все атрибуты, такие как детали транзакций, сведения о снятии и внесении средств, непогашенная задолженность и т. д.
Как определить Python классов
Чтобы определить класс, вам необходимо учитывать следующие моменты
Шаг 1) In Python, классы определяются "Класс" ключевое слово
class myClass():
Шаг 2) Внутри классов вы можете определять функции или методы, являющиеся частью этого класса.
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Здесь мы определили метод 1, который выводит "Guru99 «.
- Другой метод, который мы определили, — это метод2, который печатает «Тестирование программного обеспечения» + SomeString. SomeString — это переменная, предоставляемая вызывающим методом.
Шаг 3) Все в классе имеет отступ, как и код в функции, цикле, операторе if и т. д. Все, что не имеет отступов, не находится в классе.
ЗАМЕТКА: Об использовании слова «self» в Python
- Аргумент self относится к самому объекту. Отсюда и использование слова self. Таким образом, внутри этого метода self будет относиться к конкретному экземпляру этого объекта, над которым выполняется операция.
- Self — это имя, которое по соглашению предпочитает Pythons для указания первого параметра методов экземпляра в Python, Это часть Python синтаксис для доступа к членам объектов
Шаг 4) Чтобы сделать объект класса
c = myClass()
Шаг 5) Чтобы вызвать метод в классе
c.method1()
c.method2(" Testing is fun")
- Обратите внимание, что при вызове метода 1 или метода 2 нам не нужно указывать ключевое слово 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()
Обратите внимание, что в дочернем классе метод method1 не определен, но он наследуется от родительского класса myClass. Вывод: «Guru99 «.
Шаг 2) Раскомментируйте строки № 8 и 10. Запустите код.
Теперь метод 1 определен в дочернем классе, и вывод «Метод дочернего класса1» отображается правильно.
Шаг 3) Раскомментируйте строку №9. Запустите код
Вы можете вызвать метод родительского класса, используя синтаксис
ParentClassName.MethodName(self)
В нашем случае мы вызываем метод myClass.method1(self) и GuruЧисло 99 напечатано, как и ожидалось.
Шаг 4) Раскомментируйте строку №19. Запустите код.
Вызывается метод 2 дочернего класса и выводится «метод 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()
Результат будет:
Добро пожаловать в Guru99, Алекс
Python 2 Пример
Вышеуказанные коды Python 3 примера. Если вы хотите обкатать Python 2 пожалуйста, рассмотрите следующий код.
# How to define Python classes
# 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()
#How Inheritance works
# 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()
Узнайте наш следующий урок о Полиморфизм в Python


