Python / Grade 1 / ООП
links:
https://www.geeksforgeeks.org/python-oops-concepts/
theme:
Класс — это совокупность объектов. Класс содержит чертежи или прототип, на основе которых создаются объекты. Это логическая сущность, содержащая некоторые атрибуты и методы.
Объект состоит из:
class Person(object):
# __init__ is known as the constructor
def __init__(self, name, idnumber):
self.name = name
self.idnumber = idnumber
def display(self):
print(self.name)
print(self.idnumber)
def details(self):
print("My name is {}".format(self.name))
print("IdNumber: {}".format(self.idnumber))
# child class
class Employee(Person):
def __init__(self, name, idnumber, salary, post):
self.salary = salary
self.post = post
# invoking the __init__ of the parent class
Person.__init__(self, name, idnumber)
def details(self):
print("My name is {}".format(self.name))
print("IdNumber: {}".format(self.idnumber))
print("Post: {}".format(self.post))
# creation of an object variable or an instance
a = Employee('Rahul', 886012, 200000, "Intern")
# calling a function of the class Person using
# its instance
a.display()
a.details()
Инкапсуляция — одна из фундаментальных концепций объектно-ориентированного программирования (ООП). В нем описывается идея упаковки данных и методы работы с данными в одном модуле. Это накладывает ограничения на прямой доступ к переменным и методам и может предотвратить случайное изменение данных. Чтобы предотвратить случайное изменение, переменную объекта можно изменить только с помощью метода объекта. Эти типы переменных известны как частные переменные.
Класс является примером инкапсуляции, поскольку он инкапсулирует все данные, которые являются функциями-членами, переменными и т. д.
class Base:
def __init__(self):
self.a = "GeeksforGeeks"
self.__c = "GeeksforGeeks"
obj1 = Base()
print(obj1.a)
print(obj1.__c)
Доступ к переменной self.__c вызовет ошибку. Так как с помощью __ мы делаем атрибут приватным.