Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   ООП (http://www.flasher.ru/forum/showthread.php?t=60947)

Dindin 05.08.2004 16:35

Цитата:

Оригинал написал(а) Crazy


Отдельное пространство имен. Возможность наследования. Возможность уточнения функций.

А кроме того - полиморфизм, множественное наследование, композицию классов, объявление public (доступных) и private (закрытых) полей - в т.ч. методов, создание абстрактных классов, определение интерфейсов и абстрактных интерфейсов. Определение классов с заимствованным интерфейсом. Чёткую структуру приложения. Удобную систему документирования (хотя это только в яве JavaDoc есть). И самое главное - предельную простоту в разработке.

Dindin 05.08.2004 16:39

Да, и ещё, чуть не забыл. Если ты нормально освоишь один объектно-ориентированный язык - как нефиг делать выучишь в комплект к непу ещё пару десятков, потому как самое сложное здесь -концепция и приёмы построения классов вообще.
Короче, выучишь один язык - в остальных придётся только учить синтаксис.

Crazy 05.08.2004 18:34

Цитата:

Оригинал написал(а) Dindin
А кроме того - полиморфизм, множественное наследование, композицию классов, объявление public (доступных) и private (закрытых) полей - в т.ч. методов, создание абстрактных классов, определение интерфейсов и абстрактных интерфейсов. Определение классов с заимствованным интерфейсом. Чёткую структуру приложения. Удобную систему документирования (хотя это только в яве JavaDoc есть). И самое главное - предельную простоту в разработке.
Это ты про какой язык? :)

Dindin 05.08.2004 18:38

Вообще-то, про яву... Но многое из этого и в php5 вроде как есть..

Crazy 05.08.2004 21:47

Цитата:

Оригинал написал(а) Dindin
Вообще-то, про яву...
Правда? Ну тогда вопрос: что такое в яве "абстрактные интерфейсы" и как синтаксически выглядит этот изыск? :)

Dindin 05.08.2004 21:55

гы-гы-гы
:D:p:D

nagash 05.08.2004 23:21

хыхыхы...
можно мне тоже поглядеть? =)

kompadre 06.08.2004 07:03

Цитата:

Каждый интерфейс по умолчанию является abstract (абстрактным). Этот модификатор устарел и не используется в новых программах на Яве.

Crazy 06.08.2004 07:53

Не "является по умолчанию", а "в Java модификатор abstract может быть применен в описании интерфейса, однако не оказывает никакого влияния на результат".

Желающим предоставляется уникальная возможность: определить по приведенным ниже дампам байткода, который интерфейс является абстрактным, а какой "конкретным":

Код:

00000000:  CA FE BA BE 00 00 00 2E | 00 09 07 00 07 07 00 08
00000010:  01 00 03 66 6F 6F 01 00 | 03 28 29 56 01 00 0A 53
00000020:  6F 75 72 63 65 46 69 6C | 65 01 00 0B 41 62 73 49
00000030:  6E 74 2E 6A 61 76 61 01 | 00 06 41 62 73 49 6E 74
00000040:  01 00 10 6A 61 76 61 2F | 6C 61 6E 67 2F 4F 62 6A
00000050:  65 63 74 06 01 00 01 00 | 02 00 00 00 00 00 01 04
00000060:  01 00 03 00 04 00 00 00 | 01 00 05 00 00 00 02 00
00000070:  06                      |

Второй:

Код:

00000000:  CA FE BA BE 00 00 00 2E | 00 09 07 00 07 07 00 08
00000010:  01 00 03 66 6F 6F 01 00 | 03 28 29 56 01 00 0A 53
00000020:  6F 75 72 63 65 46 69 6C | 65 01 00 0B 41 62 73 49
00000030:  6E 74 2E 6A 61 76 61 01 | 00 06 41 62 73 49 6E 74
00000040:  01 00 10 6A 61 76 61 2F | 6C 61 6E 67 2F 4F 62 6A
00000050:  65 63 74 06 01 00 01 00 | 02 00 00 00 00 00 01 04
00000060:  01 00 03 00 04 00 00 00 | 01 00 05 00 00 00 02 00
00000070:  06                      |

Исходник:

Код:

public abstract interface AbsInt {
  void foo();
}

...в одном случае и без "abstract" -- в другом.

Вообще, в Java модификатор abstract для сущностей уровня классов означает, что данный класс нельзя инстанциировать и то, что в нем могуо быть методы, не имеющие реализации. Инстанциировать интерфейсы нельзя никогда, а реализации в них в принципе не бывает.

Посему "абстрактный интерфейс" есть "масло масляное".

juggy 06.08.2004 16:40

ага, но насколько я понимаю в 4 пхп с ООП было плоховато? а что нового появилось в пятой версии?


Часовой пояс GMT +4, время: 01:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.