![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
http://code.google.com/p/jsclassextend/
Mała biblioteka do tworzenia i rozszerzania obiektów w JSie. Prosta klasa:
rozszerzanie:
instancja:
więcej przykładów na googlecodzie, zapraszam do komentów (IMG:style_emoticons/default/smile.gif) Ten post edytował deirathe 11.01.2011, 22:34:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy patrzyłeś może w kod który tam leży na googl'u. Twój pomysł mi się mega podoba, ale nie mam koncepcji na chwilę obecną jak tego dokonać (IMG:style_emoticons/default/biggrin.gif) tak żeby instanceof działał jak należy (IMG:style_emoticons/default/smile.gif)
To to samo co w php
ps. jeszcze teraz przyszło mi do głowy coś takiego, że można by jeszcze dorobić np. obsługe abstrakcyjnych metod... a można by to zrobić np. w ten deseń, że np. definiujesz zmienną window.abstract = {} (lub tablica [] lub anonimowa funkcja - nie ważne)... dalej jeszcze tą zmienną sobie zbuforujesz gdzie trzeba - ale mając taką zmienną w window można pisać np. {g: abstract} - a potem w konstruktorze lub na extend strawdzasz czy zmienna !== abstract (jeśli będzie false to trzeba wyrzucić jakiś wyjątek informujący o braku implementacji metody o nazwie...)... z kolei klasy abstrakcyjne mógłbyś utworzyć w taki sposób, że w konstruktor daje się funkcję itterująca po własnych metodach i sprawdzającą czy czasem zmienna nie równa się abstract i wyrzucić wyjątek jeśli komuś przyjdzie do głowy tworzenie obiektu z takiej klasy oczywiście nazwa abstract jest raczej zarezerwowana [czy jak się to zwie...] pozdro (IMG:style_emoticons/default/winksmiley.jpg) Abstract będzie dużo łatwiejsze, można to zrobić tak jak ze static'iem:
Ten post edytował deirathe 12.01.2011, 01:59:38 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 15:07 |