Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.68 MB
Время: 0.044 c
1-1091688013
serg128
2004-08-05 10:40
2004.08.22
Как скопировать в буфер всю строку из Grid?


14-1091366437
Dima
2004-08-01 17:20
2004.08.22
Впрос по железу


14-1091639369
dentist
2004-08-04 21:09
2004.08.22
Глюки Delphi 7


4-1089552935
AlexZ
2004-07-11 17:35
2004.08.22
Выделить динамически память (много)


3-1091035902
senderw
2004-07-28 21:31
2004.08.22
как удалить удаленные записи из таблицы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский