test title

9
DECORATOR

Upload: ukst

Post on 17-Jul-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: test title

DECORATOR

Page 2: test title

НАЗНАЧЕНИЕ

Динамически порождает объекты

Page 3: test title

СТРУКТУРА

Page 4: test title

РЕАЛИЗАЦИЯ

ABSTRACT CLASS COMPONENT

{

PUBLIC ABSTRACT VOID DRAW();

}

Page 5: test title

РЕАЛИЗАЦИЯ

CLASS CONCRETECOMPONENT : COMPONENT

{

PUBLIC OVERRIDE VOID DRAW()

{

}

}

Page 6: test title

РЕАЛИЗАЦИЯABSTRACT CLASS DECORATOR : COMPONENT

{

PROTECTED COMPONENT COMPONENT;

PUBLIC VOID SETCOMPONENT(COMPONENT COMPONENT)

{

THIS.COMPONENT = COMPONENT;

}

PUBLIC OVERRIDE VOID DRAW()

{

IF (COMPONENT != NULL)

{

COMPONENT.DRAW();

}

}

}

Page 7: test title

РЕАЛИЗАЦИЯCLASS SCROLLDECORATOR : DECORATOR

{

PUBLIC OVERRIDE VOID DRAW()

{

BASE.DRAW();

SCROLLTO();

}

PRIVATE VOID SCROLLTO()

{

}

}

Page 8: test title

РЕАЛИЗАЦИЯCLASS BORDERDECORATOR : DECORATOR

{

PUBLIC OVERRIDE VOID DRAW()

{

BASE.DRAW();

DRAWBORDER();

}

PRIVATE VOID DRAWBORDER()

{

}

}

Page 9: test title

РЕАЛИЗАЦИЯ// CREATE CONCRETECOMPONENT AND TWO DECORATORS

CONCRETECOMPONENT TEXTVIEW = NEW CONCRETECOMPONENT();

SCROLLDECORATOR SCROLLDECORATOR = NEW SCROLLDECORATOR();

BORDERDECORATOR BORDERDECORATOR = NEW BORDERDECORATOR();

// LINK DECORATORS

SCROLLDECORATOR.SETCOMPONENT(TEXTVIEW);

BORDERDECORATOR.SETCOMPONENT(SCROLLDECORATOR);

SCROLLDECORATOR.DRAW();

BORDERDECORATOR.DRAW();