python oops concepts python classes
Концепції ООП в Python: класи та об’єкти Python, успадкування, перевантаження, перевизначення та приховування даних
У попередньому підручнику ми розповіли про деякі Операції введення / виведення що забезпечує Python.
Ми дізналися, як використовувати ці функції для зчитування даних від користувача або із зовнішніх джерел, а також як записати ці дані у зовнішні джерела. Крім того, ми дізналися, як розділити величезний код на менші методи за допомогою функцій та як викликати або отримувати до них доступ.
Подальше читання => Явний асортимент безкоштовних навчальних посібників з навчання Python
У цьому підручнику ми обговоримо розширену концепцію Python, яка називається ООП, та різні типи концепцій oops, які доступні в Python, а також те, як і де їх використовувати.
Що ви дізнаєтесь:
- Перегляньте підручники з ВІДЕО
- Класи та об'єкти
- Конструктор у Python
- Спадщина
- Перевантаження методу в Python
- Заміна методу в Python
- Приховування даних у Python
- Висновок
- Рекомендована література
Перегляньте підручники з ВІДЕО
Відео №1: Клас, об’єкти та конструктор у Python
Відео №2: Концепція успадкування в Python
Відео №3: Перевантаження, перевизначення та приховування даних у Python
Класи та об'єкти
- Python - це об’єктно-орієнтована мова програмування, де програмування більше наголошує на об’єктах.
- Майже все в Python - це об'єкти.
Заняття
Клас на Python - це сукупність об’єктів, ми можемо сприймати клас як план, ескіз чи прототип. Він містить усі деталі об’єкта.
У реальному прикладі тварина - це клас, оскільки у нас є різні види тварин у світі, і всі вони належать до класу під назвою тварини.
Визначення класу
У Python ми повинні визначити клас за допомогою ключового слова ‘клас’.
Синтаксис:
class classname: #Collection of statements or functions or classes Приклад:
class MyClass: a = 10 b = 20 def add(): sum = a+b print(sum) У наведеному вище прикладі ми оголосили клас, що називається «Myclass», і декларували та визначали деякі змінні та функції відповідно.
Щоб отримати доступ до тих функцій або змінних, які присутні всередині класу, ми можемо використовувати ім'я класу, створивши його об'єкт.
Спочатку давайте подивимося, як отримати доступ до тих, хто використовує назву класу.
Приклад:
class MyClass: a = 10 b = 20 #Accessing variable present inside MyClass print(MyClass.a) Вихідні дані
10

Вихід:

Об'єкти
Об’єкт, як правило, є екземпляром класу. Він використовується для доступу до всього, що є в класі.
Створення об'єкта
Синтаксис:
variablename = classname Приклад:
ob = MyClass() Це створить новий об’єкт екземпляра з назвою „ob”. Використовуючи це ім’я об’єкта, ми можемо отримати доступ до всіх атрибутів, присутніх у класі MyClass.
Приклад:
class MyClass: a = 10 b = 20 def add(self): sum = self.a + self.b print(sum) #Creating an object of class MyClass ob = MyClass() #Accessing function and variables present inside MyClass using the object print(ob.a) print(ob.b) ob.add() Вихід:
10
двадцять
30

Вихід:

Конструктор у Python
Конструктор у Python - це спеціальний метод, який використовується для ініціалізації членів класу під час виконання під час створення об'єкта.
У Python ми маємо кілька вбудованих методів класів, які починаються з подвійного підкреслення (__), і вони мають особливе значення в Python.
Ім'я конструктора завжди буде __init __ ().
Кожен клас повинен мати конструктор, навіть якщо ви не створюєте конструктор явно, він сам створить конструктор за замовчуванням.
Приклад:
class MyClass: sum = 0 def __init__ (self, a, b): self.sum = a+b def printSum(self): print(“Sum of a and b is: ”, self.sum) #Creating an object of class MyClass ob = MyClass(12, 15) ob.printSum() Вихід:
Сума a і b дорівнює: 27

Вихід:

Якщо ми спостерігаємо у наведеному вище прикладі, ми не викликаємо метод __init __ (), оскільки він буде викликаний автоматично, коли ми створюємо об'єкт для цього класу та ініціалізуємо члени даних, якщо такі є.
Завжди пам’ятайте, що конструктор ніколи не повертає жодних значень, отже, він не містить жодних операторів повернення.
Спадщина
Спадкування - одна з найпотужніших концепцій ООП.
Клас, який успадковує властивості іншого класу, називається Наслідування.
Клас, який успадковує властивості, називається дочірнім класом / підкласом, а клас, від якого властивості успадковуються, - батьківським класом / базовим класом.
Python надає три типи успадкування:
- Одиночне успадкування
- Багаторівневе успадкування
- Множинне успадкування
Рекомендована література = >> Спадщина в Java
# 1) Одиночне успадкування
У єдиному успадкуванні один клас успадкує властивості лише одного класу.
Приклад:
class Operations: a = 10 b = 20 def add(self): sum = self.a + self.b print(“Sum of a and b is: “, sum) class MyClass(Operations): c = 50 d = 10 def sub(self): sub = self.c – self.d print(“Subtraction of c and d is: ”, sub) ob = MyClass() ob.add() ob.sub() Вихід:
Сума a і b дорівнює: 30
Віднімання c і d дорівнює: 40

Вихід:

У наведеному вище прикладі ми успадковуємо властивості класу ‘Operations’ у клас ‘MyClass’.
Отже, ми можемо отримати доступ до всіх методів або операторів, присутніх у класі ‘Operations’, використовуючи об’єкти MyClass.
# 2) Багаторівневе успадкування
У багаторівневому спадкуванні один або кілька класів виступають як базовий клас.
Це означає, що другий клас успадкує властивості першого класу, а третій клас успадкує властивості другого класу. Отже, другий клас буде виконувати функції як батьківського, так і дитячого класу.
Приклад:
class Addition: a = 10 b = 20 def add(self): sum = self.a + self.b print(“Sum of a and b is: ”, sum) class Subtraction(Addition): def sub(self): sub = self.b-self.a print(“Subtraction of a and b is: ”, sub) class Multiplication(Subtraction): def mul(self): multi = self.a * self.b print(“Multiplication of a and b is: ”, multi) ob = Multiplication () ob.add() ob.sub() ob.mul() Вихід:
Сума a і b дорівнює: 30
Віднімання a і b дорівнює: 10
Множення a і b дорівнює: 200

Вихід:

У наведеному вище прикладі клас «Віднімання» успадковує властивості класу «Додавання», а клас «Множення» успадкує властивості класу «Віднімання». Тож клас «Віднімання» діятиме як базовим класом, так і похідним класом.
# 3) Множинне успадкування
Клас, який успадковує властивості декількох класів, називається Multiple Inheritance.
Подальше читання = >> Чи підтримує Java множинне успадкування?
Приклад:
class Addition: a = 10 b = 20 def add(self): sum = self. a+ self.b print(“Sum of a and b is: “, sum) class Subtraction(): c = 50 d = 10 def sub(self): sub = self.c-self.d print(“Subtraction of c and d is: ”, sub) class Multiplication(Addition,Subtraction): def mul(self): multi = self.a * self.c print(“Multiplication of a and c is: ”, multi) ob = Multiplication () ob.add() ob.sub() ob.mul() Вихід:
Сума a і b дорівнює: 30
Віднімання c і d дорівнює: 10
Множення a і c дорівнює: 500

Вихід:

Перевантаження методу в Python
Кілька методів з однаковою назвою, але з різним типом параметра або різною кількістю параметрів, називається перевантаженням методів
Приклад:
def product(a, b): p = a*b print(p) def product(a, b, c): p = a*b*c print(p) #Gives you an error saying one more argument is missing as it updated to the second function #product(2, 3) product(2, 3, 5) Вихід:
30

Вихід:


Вихід:

Перевантаження методів не підтримується в Python, оскільки якщо ми бачимо у наведеному вище прикладі, ми визначили дві функції з однаковою назвою „продукт”, але з різною кількістю параметрів.
Але в Python останнє визначене оновиться, отже, функціональний продукт (a, b) стане марним.
Заміна методу в Python
Якщо метод підкласу має те саме ім'я, яке оголошено в методі суперкласу, тоді це називається Методом перевизначення
Щоб досягти перевизначення методу, ми повинні використовувати успадкування.
Приклад:
class A: def sayHi(): print(“I am in A”) class B(A): def sayHi(): print(“I am in B”) ob = B() ob.sayHi() Вихід:
Я в Б

Вихід:

Приховування даних у Python
Приховування даних означає зробити дані приватними, щоб вони не були доступними для інших членів класу. До нього можна отримати доступ лише в класі, де він оголошений.
Як запустити файл jar на Windows 10 - -
У python, якщо ми хочемо приховати змінну, нам потрібно написати подвійне підкреслення (__) перед іменем змінної.
Приклад:
Class MyClass: __num = 10 def add(self, a): sum = self.__num + a print(sum) ob = MyClass() ob.add(20) print(ob.__num) #The above statement gives an error because we are trying to access private variable outside the class Вихід:
30
Відстеження (останній останній дзвінок):
Файл “DataHiding.py”, рядок 10, у
друк (має бути .__)
AttributeError: екземпляр MyClass має
немає атрибута ‘__num

Вихід:

Висновок
Клас - це план або шаблон, який містить усі деталі об'єкта, де об'єкт є екземпляром класу.
- Якщо ми хочемо отримати властивості іншого класу в клас, то цього можна досягти шляхом успадкування.
- Спадщина буває 3 типів - Односпадкове, Багаторівневе успадкування та Багатоспадкове.
- Перевантаження методів не підтримується в Python.
- Перевизначення методу використовується, щоб замінити реалізацію тієї ж функції, яка визначена в іншому класі.
- Ми можемо зробити атрибути даних приватними або приховати їх, щоб вони не були доступні поза класом, де вони визначені.
Наш майбутній підручник детально пояснить додаткові концепції Python !!
НАЗАД Підручник | НАСТУПНИЙ підручник
Рекомендована література
- Змінні Python
- Підручник з Python DateTime із прикладами
- Функції рядка Python
- Підручник з Python для початківців (практичне БЕЗКОШТОВНЕ навчання з Python)
- Заяви про керування Python (продовження, розбиття та передача Python)
- Оператори Python
- Функції Python
- Процес введення та встановлення Python