Форум: "Потрепаться";
Текущий архив: 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