ООП Python: клас, об’єкт, успадкування та конструктор із прикладом

Зміст:

Anonim

ООП в Python

ООП в Python - це підхід до програмування, який фокусується на використанні об’єктів і класів так само, як і інших загальних мов програмування. Об'єктами можуть бути будь-які реальні сутності. Python дозволяє розробникам розробляти додатки, використовуючи підхід ООП, з основним акцентом на повторне використання коду. Створювати класи та об'єкти в Python дуже просто.

Що таке клас?

Клас на Python - це логічне групування даних та функцій. Це дає свободу створювати структури даних, які містять довільний вміст і, отже, легкодоступні.

Наприклад, для будь-якого працівника банку, який хоче отримати дані клієнта в Інтернеті, перейде до класу клієнтів , де будуть перераховані всі його атрибути, такі як дані транзакції, деталі виведення та депозиту, непогашена заборгованість тощо.

У цьому підручнику ми дізнаємось,

  • Як визначити класи Python
  • Як працює спадщина
  • Конструктори Python

Як визначити класи Python

Для визначення класу потрібно врахувати наступні моменти

Крок 1) У 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 - це назва, переважна за згодою Pythons для позначення першого параметра методів екземпляра в Python. Це частина синтаксису Python для доступу до членів об’єктів

Крок 4) Зробити об’єкт класу

c = myClass()

Крок 5) Викликати метод у класі

c.method1()c.method2(" Testing is fun")
  • Зверніть увагу, що коли ми викликаємо метод1 або метод2, нам не потрібно вводити власне ключове слово. Це автоматично обробляється для нас середовищем виконання Python.
  • Виконання Python передаватиме значення "self", коли ви викликаєте метод екземпляра, наприклад, навмисно чи ні,
  • Вам просто потрібно подбати про несамостійні аргументи

Крок 6) Ось повний код

# Приклад файлу для роботи з класамиклас myClass ():def method1 (self):друк ("Guru99")def method2 (self, someString):print ("Тестування програмного забезпечення: + someString)def main ():# вправляти методи класуc = myClass ()c.method1 ()c.method2 ("Тестування - це весело")якщо __назва __ == "__основна__":основний ()

Як працює спадщина

Спадкування - це функція, яка використовується в об'єктно-орієнтованому програмуванні; це стосується визначення нового класу з меншою або відсутністю змін до існуючого класу. Новий клас називається похідним класом, а той, який він успадковує, називається базовим . Python підтримує успадкування; він також підтримує кілька спадкоємств . Клас може успадкувати атрибути та методи поведінки від іншого класу, який називається підкласом або класом спадкоємця.

Синтаксис успадкування Python

class DerivedClass(BaseClass):body_of_derived_class

Крок 1) Запустіть наступний код

# Приклад файлу для роботи з класамиклас myClass ():def method1 (self):друк ("Guru99")клас childClass (myClass):#def method1 (self):# myClass.method1 (self);#print ("метод ChildClass1")def method2 (self):print ("метод childClass2")def main ():# вправляти методи класуc2 = childClass ()c2.method1 ()# c2.method2 ()якщо __назва __ == "__основна__":основний ()

Зверніть увагу, що в childClass, method1 не визначений, але він походить від батьківського myClass. Результат - "Guru99".

Крок 2) Розкоментуйте рядок №8 і 10. Запустіть код

Тепер метод 1 визначений у childClass, і результат "childClass Method1" правильно показаний.

Крок 3) Рядок для коментарів №9. Запустіть код

Ви можете викликати метод батьківського класу, використовуючи синтаксис

ParentClassName.MethodName(self)

У нашому випадку ми дзвонимо, myClass.method1 (self) і Guru99 друкується, як очікувалося

Крок 4 ) Рядок для коментарів №19. Запустіть код.

Викликається метод 2 дочірнього класу і друкується "childClass method2", як очікувалося.

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

Конструктор - це функція класу, яка створює екземпляр об’єкта за попередньо визначеними значеннями.

Починається з подвійного підкреслення (_). Це метод __init __ ()

У наведеному нижче прикладі ми беремо ім'я користувача за допомогою конструктора.

class User:name = ""def __init__(self, name):self.name = namedef 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 classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass 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 methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()

Короткий зміст:

"Клас" - це логічне групування функцій і даних. Клас Python забезпечує всі стандартні функції об’єктно-орієнтованого програмування.

  • Механізм успадкування класу
  • Похідний клас, який замінює будь-який метод свого базового класу
  • Метод може викликати метод базового класу з тим самим іменем
  • Класи Python визначається ключовими словами «клас» сам по собі
  • Усередині класів ви можете визначити функції або методи, які є частиною класу
  • Усе в класі має відступ, як і код у функції, циклі, операторі if тощо.
  • Аргумент self у Python відноситься до самого об'єкта. Self - це назва, переважна за згодою Pythons для позначення першого параметра методів екземпляра в Python
  • Виконавча програма Python автоматично передає значення "self", коли ви викликаєте метод екземпляра, наприклад, навмисно чи ні,
  • У Python клас може успадкувати атрибути та методи поведінки від іншого класу, який називається підкласом або класом спадкоємця.