Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Co to jest mixin?

176 views
Skip to first unread message

Marek Puchalski

unread,
Jun 4, 2006, 6:50:39 AM6/4/06
to
No właśnie. Co to jest mixin? Przeczytałem wikipediową definicję
(http://en.wikipedia.org/wiki/Mixin) i niewiele z niej rozumiem. Czym
się mixin różni od interfejsu Javowego? Mixiny występują w Javie?

Pozdrawiam

Marek

--
# You can't run away. Everyone's connected.
# Marek Puchalski
# Proud linux user: 409592

Twelve Hungry Mammoths

unread,
Jun 4, 2006, 7:05:55 AM6/4/06
to
On Sun, 04 Jun 2006 12:50:39 +0200, Marek Puchalski
<marpuc...@gmail.com> wrote:

> 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

Szczepan Kuźniarz

unread,
Jun 4, 2006, 8:24:07 AM6/4/06
to

> [...]

>> Mixiny występują w Javie?
>
> nie. moze kombinujac z preprocesorem daloby sie to zrobic.

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

0 new messages