Pozdrawiam
Marek
--
# You can't run away. Everyone's connected.
# Marek Puchalski
# Proud linux user: 409592
> No właśnie. Co to jest mixin? Przeczytałem wikipediową definicję
> (http://en.wikipedia.org/wiki/Mixin) i niewiele z niej rozumiem.
zobacz tutaj: http://www.rubycentral.com/book/tut_modules.html -
podrozdzial Mixins.
a poruszajac sie w terminologii javowej -- zalozmy, ze mamy klase X
implementujaca Comparable, czyli posiada ona metode compareTo(). mozemy
trywialnie latwo zdefiniowac przy uzyciu tej metody inne operacje
porownan: lessThan(), greaterThan(), lessThanOrEqual(), equal(),
notEqual(). definicje tych metod sa zupelnie niezalezne od klasy X, w
kazdej innej klasie implementujacej Comparable wygladalyby dokladnie tak
samo (np. public boolean equals (Object x) { return 0 == compareTo (x); }.
Mixin daje nam mozliwosc grupowania tego typu metod w pewne calosci i
wlaczania ich do klas.
> Czym się mixin różni od interfejsu Javowego?
mixin ma konkretna implementacje jednej lub wiecej metod. metody te
odwoluja sie zwykle do pewnej metody abstrakcyjnej.
> Mixiny występują w Javie?
nie. moze kombinujac z preprocesorem daloby sie to zrobic.
w C++ da sie to zrobic przy uzyciu generykow i/lub wielodziedziczenia. w
Javie mamy tylko generyki, ale moze udaloby sie wykombinowac cos na
ksztalt mixinow.
pzdr
szeryf
Występują jeżeli użyjesz AspectJ lub którejkolwiek z bibliotek
aspektowych. Poczytaj tutaj:
http://today.java.net/pub/a/today/2005/12/15/writing-mixins-with-aop.html
--
Pozdrawiam,
Szczepan Kuźniarz
szczepan...@op.pl