DDDEN!SSS, да их особо не разделяли, насколько я знаю. Некоторые вспомогательные классы созданы, но в общей массе методы так в куче и находятся. Это в Java 3D создают свой API, который запускается поверх Direct 3D и Open GL, а тут никто особо улучшением не занимается. LPzhelud, такое может быть в том случае, если ты читаешь через byte, а не через int. Просто выполни операцию на числом int i = b 0xFF; (маска первых восьми битов) и посмотри, что выйдет.
Кстати, забыл ругнуться насчет множественного наследования: нет в нем ничего хорошего, оно все запутывает. Когда ты наследуешь от класса, ты точно знаешь, какой метод какому классу принадлежит и какой перегружает. В случае же множественного наследования в цепочке оказываются несколько классов, которые не имеют никакого отношения друг к другу и могут, например, содержать методы с одинаковым названием, что порождает раздичные проблемы. В языке D, кстати говоря, который разработан на основе C++, от него отказались в пользу интерфейсов в стиле Java, и я считаю, что это правильно.
LPzhelud, ну а что тогда непонятного в описанной операции? Берутся первые 8 битов и помещаются в переменную типа int, которая может содержать значение 255, в отличие от byte, все остальные биты равны 0. Последний бит, который показывает знак, тоже будет равен 0, и число будет положительным. А в byte значащих битов только 7, за знак отвечает восьмой бит, поэтому 255, допустим, которое в двоичном виде выглядит как 11111111, в переменной byte будет восприниматься как -1. Yusyanya, не может такого быть. Если ты обращаешься к последнему уровню многомерного массива, это всегда объект объявленного типа, если к другому - это всегда массив. Кстати, вместо ассоциативных массивов у нас есть Hashtable.
26 июл 2009 в 09:53