Классы и объекты


Объекты - это инкапсуляция переменных и функций в единое целое. Объекты получают свои переменные и функции от классов. Классы - это, по сути, шаблон для создания ваших объектов.

Самый простой класс будет выглядеть примерно так:

class MyClass: variable = "blah" def function(self): print("This is a message inside the class.")
1
2
3
4
5
класс MyClass :
переменная = "бла"
Функция def ( self ) :
print ( "Это сообщение внутри класса." )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Чуть позже мы объясним, почему вам нужно включить это «я» в качестве параметра. Во-первых, чтобы присвоить объекту указанный выше класс (шаблон), вы должны сделать следующее:

class MyClass: variable = "blah" def function(self): print("This is a message inside the class.") myobjectx = MyClass()
1
2
3
4
5
6
7
класс MyClass :
переменная = "бла"
Функция def ( self ) :
print ( "Это сообщение внутри класса." )
myobjectx = MyClass ( )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Теперь переменная «myobjectx» содержит объект класса «MyClass», который содержит переменную и функцию, определенную в классе «MyClass».

Доступ к объектным переменным

Чтобы получить доступ к переменной внутри только что созданного объекта myobjectx, вы должны сделать следующее:

class MyClass: variable = "blah" def function(self): print("This is a message inside the class.") myobjectx = MyClass() myobjectx.variable
1
2
3
4
5
6
7
8
9
класс MyClass :
переменная = "бла"
Функция def ( self ) :
print ( "Это сообщение внутри класса." )
myobjectx = MyClass ( )
myobjectx . Переменная
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Так, например, ниже будет выведена строка «blah»:

class MyClass: variable = "blah" def function(self): print("This is a message inside the class.") myobjectx = MyClass() print(myobjectx.variable)
1
2
3
4
5
6
7
8
9
класс MyClass :
переменная = "бла"
Функция def ( self ) :
print ( "Это сообщение внутри класса." )
myobjectx = MyClass ( )
печать ( переменная myobjectx . )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Вы можете создать несколько разных объектов одного и того же класса (для которых определены одни и те же переменные и функции). Однако каждый объект содержит независимые копии переменных, определенных в классе. Например, если бы мы должны были определить другой объект с классом «MyClass», а затем изменить строку в переменной выше:

class MyClass: variable = "blah" def function(self): print("This is a message inside the class.") myobjectx = MyClass() myobjecty = MyClass() myobjecty.variable = "yackity" # Then print out both values print(myobjectx.variable) print(myobjecty.variable)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
класс MyClass :
переменная = "бла"
Функция def ( self ) :
print ( "Это сообщение внутри класса." )
myobjectx = MyClass ( )
myobjecty = MyClass ( )
миобъекты . переменная = "yackity"
# Затем распечатайте оба значения
печать ( переменная myobjectx . )
печать ( переменная myobjecty . )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Доступ к функциям объекта

Чтобы получить доступ к функции внутри объекта, вы используете нотацию, аналогичную доступу к переменной:

class MyClass: variable = "blah" def function(self): print("This is a message inside the class.") myobjectx = MyClass() myobjectx.function()
1
2
3
4
5
6
7
8
9
класс MyClass :
переменная = "бла"
Функция def ( self ) :
print ( "Это сообщение внутри класса." )
myobjectx = MyClass ( )
myobjectx . функция ( )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Вышеупомянутое будет распечатать сообщение: «Это сообщение внутри класса».

Упражнение

У нас есть класс, определенный для транспортных средств. Создайте два новых автомобиля с именами car1 и car2. Установите car1 как красный кабриолет стоимостью 60 000 долларов США с именем Fer, а car2 как синий фургон Jump стоимостью 10 000 долларов США.