The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

2.7 Выводы

2.7 Выводы

Предыдущая  Содержание  Следующая V*D*V

Используя указатель на объект, динамическая компоновка позволяет нам найти зависимую от типа функцию: каждый объект начинается с дескриптора, который содержит указатели на функции, применимые к данному объекту. В частности, дескриптор содержит указатель на конструктор, который инициализирует область памяти, выделенную для объекта, а также указатель на деструктор, который высвобождает ресурсы, принадлежащие объекту, прежде чем он будет удалён.

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

Посредством селекторов и динамической компоновки функция с одним и тем же названием будет выполнять разные действия для разных классов. Такая функция называется полиморфной.

Полиморфные функции весьма полезны. Они обеспечивают уровень концептуальной абстракции: differ() будет сравнивать любые два объекта — нам не нужно помнить, какой именно вид differ() применим в конкретной ситуации. Дешёвым и очень удобным инструментом отладки является полиморфная функция store() для вывода любого объекта в файловый дескриптор.

 

Предыдущая  Содержание  Следующая