|
Вопрос # 6 128/ вопрос закрыт / |
|
Здравствуйте, уважаемые эксперты! Есть цитата: При выполнении кода в
динамическом контексте
всегда есть объект, с
которым идет работа в
данный момент.
Например, для
динамического метода
это объект, у которого
он был вызван, и так
далее.
А я думал, методы экземпляра статические, если не указать явно(virtual, например)...
Объясните, пожалуйста!
 |
Вопрос задал: Phantom (статус: Посетитель)
Вопрос отправлен: 12 мая 2012, 09:51
Состояние вопроса: закрыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 21; последнее сообщение — 17 мая 2012, 01:20; участников в обсуждении: 3.
Страницы: [1] [2] [Следующая »]
|
min@y™ (статус: Доктор наук), 12 мая 2012, 10:06 [#1]:
Цитата (Phantom):
Например, для динамического метода...
Здесь автор, ИМХО, имел в виду, что именно явно указан тип метода dynamic.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Phantom (статус: Посетитель), 12 мая 2012, 10:15 [#2]:
P.S. Данную цитату брал с учебника по Java...
|
|
min@y™ (статус: Доктор наук), 12 мая 2012, 10:29 [#3]:
Цитата (Phantom):
Данную цитату брал с учебника по Java...
А зачем?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Phantom (статус: Посетитель), 12 мая 2012, 11:26 [#4]:
просто подвернулась интересная статейка, равнозначная и для Delphi, и для Java. только в конце непонятно: динамическими являются
методы, вызывающийся из объектов(экземпляров классов), а не имя_класса.имя_метода.
как это?
|
|
min@y™ (статус: Доктор наук), 12 мая 2012, 11:56 [#5]:
Цитата (Phantom):
методы, вызывающийся из объектов(экземпляров классов), а не имя_класса.имя_метода. как это?
А вот так: имя_класса.имя_метода - вызов классового метода. В классовых методах не используется Self и описываются они так:
T = class(...)
public
class procedure P(...);
class function F(...): ...;
end;
// вызовы
T.P(...);
X:= T.F(...);
Обычные методы вызываются с указанием экземпляра: имя_переменной.имя_метода(). В эти методы указатель Self передаётся неявно.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
DNK (статус: Студент), 12 мая 2012, 12:08 [#6]:
В Java все методы объекта динамические, а методы класса - статические.
"Digital Networked Knight"
|
|
Phantom (статус: Посетитель), 12 мая 2012, 12:33 [#7]:
Разобрался. т.е. обычные методы в java по умолчанию динамические, в Delphi-статические, и в тех, и в этих есть неявный параметр self, ссылающийся на объект, использующийся для вызова метода. Я прав?
|
|
min@y™ (статус: Доктор наук), 12 мая 2012, 13:12 [#8]:
Цитата (Phantom):
Разобрался. т.е. обычные методы в java по умолчанию динамические
А хрен его знает, я на Java не работаю.
Цитата (Phantom):
в Delphi-статические
А как же виртуальные, динамические и классовые?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Phantom (статус: Посетитель), 12 мая 2012, 13:14 [#9]:
я имею ввиду по умолчанию, то есть, если не указывать явно
|
|
min@y™ (статус: Доктор наук), 12 мая 2012, 13:42 [#10]:
Цитата (Phantom):
я имею ввиду по умолчанию, то есть, если не указывать явно
Если даже указывать явно, то Self всё равно передаётся.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Phantom (статус: Посетитель), 12 мая 2012, 14:00 [#11]:
с этим проблем то нет! Имеется ввиду, какой тип обычных методов принят по умолчанию. Например в java–виртуальные, в C++,Дельфи и т.п. - статические.
|
|
min@y™ (статус: Доктор наук), 12 мая 2012, 14:13 [#12]:
Ну и чо теперь? Легче стало?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Phantom (статус: Посетитель), 12 мая 2012, 14:23 [#13]:
более или менее конкретно.
|
|
min@y™ (статус: Доктор наук), 12 мая 2012, 14:34 [#14]:
А вот теперь ответь: каким образом и для чего ты будешь применять полученную информацию на практике?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Phantom (статус: Посетитель), 12 мая 2012, 14:48 [#15]:
а как это можно применить на практике?
|
|
Phantom (статус: Посетитель), 12 мая 2012, 15:28 [#16]:
до этого прогал на java, и в связи с этим возникли непонятки в Delphi, такие ка виртуальные методы, которые к java вообще неприминимы. вот и захотелось разобраться в этих "дельфийских" тонкостях, чтобы все встало на свои места.
|
|
DNK (статус: Студент), 12 мая 2012, 15:34 [#17]:
Если тебе нужна полемика, гоу ту ирц.
"Digital Networked Knight"
|
|
min@y™ (статус: Доктор наук), 12 мая 2012, 22:40 [#18]:
Цитата (Phantom):
до этого прогал на java, и в связи с этим возникли непонятки в Delphi, такие ка виртуальные методы, которые к java вообще неприминимы. вот и захотелось разобраться в этих "дельфийских" тонкостях, чтобы все встало на свои места.
ЗАЧЕМ, А?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Phantom (статус: Посетитель), 13 мая 2012, 16:11 [#19]:
Потому что у нас в колледже Object Pascal
|
|
min@y™ (статус: Доктор наук), 13 мая 2012, 22:08 [#20]:
Цитата (Phantom):
Потому что у нас в колледже Object Pascal
Допустим. Но я ж спросил не "почему", а "зачем"!
ОТВЕЧАЙ!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Страницы: [1] [2] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|