Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Delphi + pointer = ?   Найти похожие ветки 

 
Digitman ©   (2004-08-03 15:03) [80]


> позволяет такую ФИЧУ, которую как типа-ООП-шная среда не
> должна бы позволять


где ? где это регламентировано ? какими документами ?
твои собственные вокруг-да-около инсинуации - это не регламентирующий документ


 
Kurtevich   (2004-08-03 15:03) [81]


> KSergey ©   (03.08.04 14:57) [76]

важное отличие я прекрасно понимаю, и как раз им и недоволен!
зачем конструкторы по умолчанию?... щаз расскажу!
предположим я хочу создать класс TString, который бы инкапсулировал все возможности стринга, только работал бы скажем... с массивами чар. понятно, мне было бы неудобно постоянно вызывать конструкторы и деструкторы когда мне надо пользоваться переменными этого типа, и именно поэтому я и не могу так сделать в Дельфи! потому что она не вызывает автоматически конструкторы по умолчанию, и в ней нельзя иметь статические переменные типа класс - т.е. именно то, что в ООП называется обьектом. вот...


 
KSergey ©   (2004-08-03 15:05) [82]

> [81] Kurtevich   (03.08.04 15:03)

Еще раз объясняю: этого просто не предусмотрено. Однако функциональности это не ущемляет никоим образом.


 
Kurtevich   (2004-08-03 15:05) [83]

что это я
> Сказал, начиная с самого первого сообщения.
???? процитируй!
ругаться совсем необязательно, и обижаться тоже - мы не маленькие дети! (во всяком случае я надеюсь :))


 
Sandman25 ©   (2004-08-03 15:05) [84]

Мне все это напоминает ветку про

Button: TButton;

Button := TButton(TEdit.Create(nil));
if Button is TButton

Тоже жаловались, что компилятор слишком умный и некрасиво делает


 
Sergey Kaminski ©   (2004-08-03 15:06) [85]

Добрый дядя Борланд... Произносится с шутливым ужасом. Вроде: Добрый дяди Билл.... Что поделаешь:
 -- Жиды-с.


Kurtevich   (03.08.04 14:52) [73]
>  мне от этих "методов класса" или как вы их там называете ни холодно ни жарко в процессе программирования...

В этом тоже ДЯДЯ виноват?

Насоздаете объектов в одном месте, уничтожаете в другом, называете это тривиальным случаем... А потом дядя виноват, не важно в чем, в том, что Free "кривое" или в другом.


 
Sergey Kaminski ©   (2004-08-03 15:07) [86]

> Sandman25 ©   (03.08.04 15:05) [84]
Один к одному, точно :))


 
Kurtevich   (2004-08-03 15:08) [87]


> Еще раз объясняю: этого просто не предусмотрено. Однако
> функциональности это не ущемляет никоим образом

интересно, а тот самый пример, который я привел - это не ущемление функциональности? если в ООП-языке можно обьявить класс, а потом обращаться с ним как с простым типом данных, не думая ни о каких конструкторах - это ли не функциональность?


 
Digitman ©   (2004-08-03 15:08) [88]


> статические переменные типа класс .. в ООП называется обьектом


бред сивой кобылы


 
Kurtevich   (2004-08-03 15:10) [89]


> Kurtevich   (03.08.04 14:52) [73]
> >  мне от этих "методов класса" или как вы их там называете
> ни холодно ни жарко в процессе программирования...
>
> В этом тоже ДЯДЯ виноват?

а это что было? женская логика? обьясняю на пальцах: "ни холодно ни жарко" = "все равно"; кто здесь в чем виноват?


 
Digitman ©   (2004-08-03 15:11) [90]


> Kurtevich


дальнейшие прения по сабжу бессмысленны, пока ты не приведешь свое определение и понимание "статической переменной"


 
Sergey Kaminski ©   (2004-08-03 15:13) [91]

> Kurtevich   (03.08.04 15:10) [89]

Объясняю на пальцах:
Дядя не виноват, что вы не используете методы класса.


 
Sergey Kaminski ©   (2004-08-03 15:14) [92]

> Kurtevich   (03.08.04 15:10) [89]
А то, что именно вы используете, вы уже показали.


 
Игорь Шевченко ©   (2004-08-03 15:14) [93]


> это уже получается не метод, а просто глобальная
> процедура, которую зачем-то запихнули в обьвление класса!


Для статических и классовых методов - абсолютно верно.


 
Kurtevich   (2004-08-03 15:15) [94]


> Digitman ©   (03.08.04 15:08) [88]

где здесь бред сивой кобилы??? в том, что вы, ув. Digitman, не знаете что такое обьект??? обьсняю на пальцах основы ООП абстрагируясь от каких-бы-то-ни-было языков и средств:
КЛАСС = структурированный ТИП данных
ОБЪЕКТ = переменная типа КЛАСС
где здесь бред??? уже даже борланд отошол от object pascal и принял эту терминологию, за тем лишь исключением, что у них
ОБЪЕКТ = УКАЗАТЕЛЬ на переменную типа КЛАСС
блин, сколько можно гнать?... на фиг придираться к ками-то мелким словам? больше придраться не к чему?


 
Игорь Шевченко ©   (2004-08-03 15:18) [95]

В потрепаловку пора :)

Delphi - отстой и насилие над ООП.


 
Sergey Kaminski ©   (2004-08-03 15:19) [96]


> обьсняю на пальцах основы ООП


Это лучше Борланду "на пальцах" объясните, может он чего не понял


 
Игорь Шевченко ©   (2004-08-03 15:22) [97]


> если в ООП-языке можно обьявить класс, а потом обращаться
> с ним как с простым типом данных, не думая ни о каких конструкторах
> - это ли не функциональность?


Эт язык надо менять.
Я же не удивляюсь тому, что Delphi мне прогноз погоды не выдает при запуске, хотя не мешало бы...
Или препроцессора не имеет...


 
Sergey_Masloff   (2004-08-03 15:27) [98]

Игорь Шевченко ©   (03.08.04 15:18) [95]
>Delphi - отстой и насилие над ООП.
Не то слово. Я бы даже сказал аЦтой ;-)


 
Игорь Шевченко ©   (2004-08-03 15:30) [99]

Sergey_Masloff   (03.08.04 15:27) [98]

Я кажется понял - это такая форма агитации за C#. Охаивать другие языки.


 
Digitman ©   (2004-08-03 15:31) [100]


> Kurtevich   (03.08.04 15:15) [94]


бред конечно !

ООП как концепция вообще не дает никаких определений, как и где хранится реальный объект и какова его связь с какими-то там "переменными"

то что ты в CPP написал где-то строчку MYCLASS myobj, вовсе не означает, что obj - это именно статическая переменная и что размер этой переменной в памяти совпадает с размером структуры, определенной структурой класса MYCLASS

поэтому я и задал тебе вопрос - ЧТО есть, по твоему, статическая переменная типа КЛАСС ?


 
Kurtevich   (2004-08-03 15:33) [101]

ничего я не охиваю, ёпрст! да что вы все такие обидчивые? для вас Дельфи, это что - святыня какая-то? стоит только указать на какой-нибудь недостаток, тут же охаивать, агитация... вы меня еще вражеским агентом или террористом-маньяком назовите! никто вобще даже не понимает о чем речь идет, только плачутся, что их любимую дельфу аскарбили, аЦтоем обозвали!... короче, i"m outta here... всем спасибо за интересно убитый рабочий день :))


 
Digitman ©   (2004-08-03 15:36) [102]


> Kurtevich


ну что ж ты так позорно ретируешься-то ?
ответь уж на вопрос мой последний) .. он вовсе не про Делфи)


 
Игорь Шевченко ©   (2004-08-03 15:37) [103]


> никто вобще даже не понимает о чем речь идет


Ну почему же никто ? Все понятно, не первый случай на этом сайте :)


 
вразлет ©   (2004-08-03 15:39) [104]

Что -то снобов тут развелось...В реале за такой тон разговора вообще -то яйца отрывают. Сами себе не противны?


 
Игорь Шевченко ©   (2004-08-03 15:45) [105]

вразлет ©   (03.08.04 15:39) [104]

http://ln.com.ua/~openxs/articles/smart-questions-ru.html


> В реале за такой тон разговора вообще


Оторви себе и успокойся


 
вразлет ©   (2004-08-03 15:45) [106]

Игорь Шевченко ©

От локтя.


 
Kurtevich   (2004-08-03 15:46) [107]


> Digitman ©   (03.08.04 15:36) [102]

хм... на последний вопрос? ну разве что на последний... это на этот?

> ЧТО есть, по твоему, статическая переменная типа КЛАСС ?

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


 
KSergey ©   (2004-08-03 15:49) [108]

> [101] Kurtevich   (03.08.04 15:33)
> стоит только
> указать на какой-нибудь недостаток,

Вы указываете не на недостатки.
Вы указываете на отсутствие тех приемов, к которым привыкли в других языках.
Что никак не связано с дельфи. НИКАК.
Да, вначале было некоторое недопонимание, вам разъяснили. Чего еще говорить-то?
Но если вы изучите Delphi Language нормально - то, поверьте, потом ьудете говорить "Эх, вот в дельфи это было так удобно...".
Так что немного лучше помолчите, обдумайте.
Вот и все. Говорить, вообще-то, уже не о чем.


 
Игорь Шевченко ©   (2004-08-03 15:55) [109]


> мне важно только то, что, как и любая другая статическая
> переменная, она автоматически создается и уничтожается в
> сфере своей видимости, и поэтому я могу использовать ее
> как переменную любого другого типа


В Delphi все объекты динамические. Хорошо это или плохо - судить не берусь, но это свойство языка. Не нравится - можно всегда перейти на другой язык.

Например, в Delphi нету множественного наследования, что тоже не всегда удобно, но это не повод говорить что Delphi изнасиловало ООП. Просто нету его, такого наследования. Ведь не удивляет тот факт, что в микроскоп неудобно на звезды смотреть, правда ?


 
DiamondShark ©   (2004-08-03 15:57) [110]

Это сериал? "IS возвращается"?


 
KSergey ©   (2004-08-03 15:57) [111]

> [109] Игорь Шевченко ©   (03.08.04 15:55)
> Ведь не удивляет тот факт, что в микроскоп неудобно на звезды
> смотреть, правда ?

Но возмущает!


 
Sergey Kaminski ©   (2004-08-03 16:02) [112]

> Это сериал? "IS возвращается"?

Однозначно. Только там яйца не рвали.


 
KSergey ©   (2004-08-03 16:03) [113]

> [112] Sergey Kaminski ©   (03.08.04 16:02)
> > Это сериал? "IS возвращается"?
>
> Однозначно. Только там яйца не рвали.

Ужас.. Что же будет в следующий раз??!!
Куда мир катится..  :((


 
Digitman ©   (2004-08-03 16:11) [114]


> Kurtevich   (03.08.04 15:46) [107]


вот теперь наконец-то видно, что ты откровенно плаваешь в понятиях статики и динамики ... и ни ООП ни языки здесь ни при чем .. ты попросту не представляешь себе действия компилятора/линкера, когда речь идет о статике или динамике

то что ты объявил где-то в подпрограмме идентификатор MYCLASS myobj, совершенно не означает, что переменная myobj есть статическая переменная

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

память же под все прочие переменные выделяется уже в ран-тайм, в куче или в стеке (в зависимости от контекста объявления), поэтому такие переменные статическими НЕ являются, ВНЕ зависимости от того, какого они типа


 
noname_   (2004-08-03 16:20) [115]

Вопрос к Kurtevich как к ценителю и знатоку c++
есть c++ код

MyObject* a;
MyObject* b;
a = new MyObject;
b = a;
delete a;
test_exists(b);

что мне написать в функции test_exists чтобы узнать - существует передаваемый в нее объект или нет?


 
iZEN ©   (2004-08-03 22:58) [116]

/**Kurtevich   (03.08.04 14:20) [56]
на самом деле всё это совершенно неправильно, и если бы Страусструп был здесь, он бы такого бы не допустил!!! :)
нельзя вызывать методы класса без создания обьекта, это очень WRONG! это уже получается не метод, а просто глобальная процедура, которую зачем-то запихнули в обьвление класса!
*/

Тогда уж имеет смысл намекнуть создателям языка Java об их неправоте относительно одного из ключевых классов пакета java.lang
public final class Math extends Object,
в котором все методы - СТАТИЧЕСКИЕ, то есть методы класса, выражаясь терминами ObjectPascal.
Но только делайте это в мягкой форме, иначе пошлют...


 
iZEN ©   (2004-08-03 23:15) [117]

Похоже автор топика путает ссылки и объект.


 
Некрофил-затейник__   (2004-08-04 06:54) [118]

noname_
Delete высвобождает обьект

MyObject;<---Это то массив, класс, структура, void*,целое так обозвали?
конкретнее можно?
а еще лучше обьясни что делает эта функция в Дельфи?

var
return:boolean;
begin
if(NoError)then
 begin
  Make;
  Fill;
  Clear;
  SetTransactions;
  Repaint;
  return := true;
 end
else
 begin  
  MakeKorection(x);
  return := false;
  MessageBox("error","Change user",0,0);  
 end;
 Result := return;
end;


 
Некрофил-затейник__   (2004-08-04 07:01) [119]

Kurtevich  
imho
Дельфи это священная корова/*на этом форуме во всяком случае*/
по мойму это еще с 199х годов пошло когда еще на дельфе ничего
особо не делалось все делалось на с но дельфины в столь юном
возврасте во всю пытались доказать что с отстой у них получилось
навязать стереотип и любой выпад в сторону дельфи считают
личным оскорблением вот и матерятся ....

noname_  
Кстати MyObject опиши конструктор и деструктор если это класс


 
noname_   (2004-08-04 09:30) [120]

2 Некрофил-затейник__
MyObject это класс.

Компилирующийся пример:

class MyObject
{
 int f;
};

bool test_exists(MyObject* t)
{
 return false;
}

int main()
{
 MyObject* a;
 MyObject* b;
 bool e;
 a = new MyObject;
 b = a;
 delete a;
 e = test_exists(b);
}

Что нужно написать в test_exists вместо "return false" чтобы функция возвращала true если объект t существует и false если он разрушен?



Страницы: 1 2 3 4 5 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.71 MB
Время: 0.041 c
1-1091681351
Vasya.ru
2004-08-05 08:49
2004.08.22
как убрать программу с панели задач?


14-1091470204
Кириешки
2004-08-02 22:10
2004.08.22
Ассемблер


1-1091721731
Луарвик
2004-08-05 20:02
2004.08.22
TStrings: как удалить пустые строки?


10-1030551543
kavlad
2002-08-28 20:19
2004.08.22
CORBA-сервер, возвращающий файл.


8-1086090320
GooFfy
2004-06-01 15:45
2004.08.22
Принятие голосовых команд