|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Alex Kharitonov 2:5038/7.17 23 Jan 2002 20:29:59 To : Vinokurov Andrey Subject : Perl OOP??? -------------------------------------------------------------------------------- 23 Янв 02 15:58, Vinokurov Andrey wrote to Alex Kharitonov: VA>> Я уж не VA>> говорю о об отсутсвии таких "вкусностей", как перегрузка VA>> операторов. AK>> ;-) Есть это. VA> Приведи ссылки на документацию и примеры синтаксиса. Я в описании VA> 5.6.1 такого не нашел. perldoc overload, там в частности есть и примеры. AK>> Почему? Может наоборот - все языки, позволяющие в той или иной AK>> степени программировать в объектном стиле, являются в той или иной AK>> степени VA> объектными? VA> Я уже писал о том, что "в объектном стиле" можно программировать VA> практически на любом языке. Большинство объектных фич перла я без VA> труда повторю на чистом си. Значит ли это, что перл и чистый си VA> являются объектными языками в одной и той же степени? Hет. Ты же сам сказал "большинство объектных фич перла", большинство - это не все, соответственно они не могут быть объектными языками в равной степени. Я не знаю, насколько будет то, про что ты говоришь, похоже на ООП. VA>> Перл этому условию не удовлетворяет. AK>> Инкапсуляции, наследования и полиморфизма уже недостаточно, нужно AK>> чтобы VA> они AK>> были сделаны строго определенным способом? ;-) VA> Hет, нужно, чтоб они были встроены в язык. Так они и встроены. Иначе, чем в C++, но эти вещи сделаны специально для ООП. Hапример служебный массив @ISA содержит список классов-предков, он предназначен только для этого, программист не должен использовать этот массив для чего-то еще. Или функция bless - для чего еще она нужна, кроме как для ООП? VA>> Итак, сделайте ка мне на перле "ромбовидное невиртуальное VA>> наследование". Это когда VA>> class L { /*...*/ }; VA>> class A: public L { /*...*/ }; VA>> class B: public L { /*...*/ }; VA>> class AB: public A, public B { /*...*/}; AK>> См. http://askh.karelia.ru/perl/labab.pl Устраивает? VA> Hет. Будет устраивать, если ты в базовый класс L внесешь пару-тройку VA> полей данных, и чтоб в каждом подобъекте (типа А и B соотв.) объекта VA> типа AB была _своя_ копия подобъекта типа L. Вопрос на засыпку: как такое сделать в Java? Или Java - это тоже не объектный язык, потому что не повторяет C++? С уважением, Alex! mailto:askh@go.ru http://askh.karelia.ru/ PGP key fingerprint: 183A DDC9 D784 4623 98D5 4749 4F9C E20B 47E0 769C --- GoldED/386 3.00.Beta5+ * Origin: ASKh Home (2:5038/7.17) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/147413c4f18fe.html, оценка из 5, голосов 10
|