Пока что вpythonесть"классические"и"новые"классы. Первые классы определяются сами по себе,а вторые обязательно ведут свою родословную от класса object. Для целей 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Пока что вpythonесть"классические"и"новые"классы. Первые классы определяются сами по себе,а вторые обязательно ведут свою родословную от класса object. Для целей

Поиск

Пока что вPythonесть"классические"и"новые"классы.Первые классы определяются сами по себе,а вторые обязательно ведут свою родословную от класса object.Для целей

 

данного изложения разница между этими видами классов не имеет значения.

 

Экземпляры классов могут появляться в программе не только из литералов или в результате операций.Обычно для получения объекта класса достаточно вызвать конструктор этого класса с некоторыми параметрами.Объект-класс,как и объект-функция,может быть вызван.Это и будет вызовом конструктора:

 

>>> import sets

>>> s = sets.Set([1, 2, 3])

В этом примере модуль sets содержит определение класса Set.Вызывается конструктор этого класса с параметром [1, 2, 3].В результате с именем s будет связан объект-множество из трех элементов 1, 2, 3.

 

Следует заметить,что,кроме конструктора,определенные классы имеют и деструктор-метод,который вызывается при уничтожении объекта.В языкеPythonобъект уничтожается в случае удаления последней ссылки на него либо в результате сборки мусора,если объект оказался в неиспользуемом цикле ссылок.Так какPythonсам управляет распределением памяти,деструкторы в нем нужны очень редко.Обычно в том случае,когда объект управляет ресурсом,который нужно корректно вернуть в определенное состояние.

 

Еще один способ получить объект некоторого типа-использование функций-фабрик.По синтаксису вызов функции-фабрики не отличается от вызова конструктора класса.

 

Определение класса

 

Пусть в ходе анализа данной предметной области необходимо определить класс Граф.Граф-это множество вершин и набор ребер,попарно соединяющий эти вершины.Над графом можно проделывать операции,такие как добавление вершины,ребра,проверка наличия ребра в графе и т.п.На языкеPythonопределение класса может выглядеть так:

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 58; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.007 с.)