24 czerwca 2011

Porównywanie obiektów

Rzeczowo ujmując, porównywanie obiektów w AS3 jest bardzo trudne, o ile możliwe. Osobiście nie mam pomysłu jak można porównać dwa obiekty tej samej klasy.

Szperając w google, znalazłem informację (ostatni post), aby oba obiekty zapisywać do postaci bajtowej, a następnie bajt po bajcie je porównywać, aż do przerwania.

Nie wiem czemu, ale u mnie to nie działa. W związku z zaistniała sytuacja utworzyłem wątek na devpytania, lecz nikt do tej pory, nie udzielił mi odpowiedzi.

Rozwodząc się dalej nad problemem, dopowiem, że jeszcze gorzej ma się cześciowe porównywanie obiektów, to znaczy w oparciu o kilka parametrów, a nie wszystkie.

AS3 nie ma wsparcia dla funkcji porównywania. To znaczy, nie ma tu takiej możliwości jak w Java czy C++, gdzie można w funkcji porównywania uzyskać prywatne atrybuty drugiego obiektu. Oznacza to, że w wielu przypadkach skazanym jest się na upublicznianie stanów obiektu.

Rozumiem, że AS3 jest z gatunku tych lżejszych języków, ale czemu do diaska mamy tu tak zaniedbany fundament? Najbardziej ironiczne jest to, że mamy tutaj operator == dla stringów, czego nie można zaświadczyć u Javy :-) . Pytanie, czemu tylko na tym poprzestano?

Brak komentarzy:

Prześlij komentarz