Klasa jako główny system

0

Witam wszystkich forumowiczów!
Mam pewien problem, może dla was będzie łatwy, ale ja nie potrafię sobie z tym poradzić.
Otóż, będę miał klasę... hm... miała być abstrakcyjna, ale mam pewne problemy. Będzie to jakby moja klasa "główna", która będzie zawierała nazwy wszystkich procedur, dosłownie wszystkich (to jest naprawdę ważne) wszystkich klas, które będą po niej dziedziczyć. Może trudno to zrozumieć, ale tak właśnie chce zrobić.
Na przykładzie:
mam klasę System. W tej klasie są nazwy wszystkich procedur klas: Music oraz Programs. Klasy Music oraz Programs nie dziedziczą wszystkich procedur po klasie abstrakcyjnej System. Niestety, tak właśnie musi być, że dziecko klasy musi zawierać wszystkie procedury co jego rodzic. A ja chcę właśnie, żeby miał tylko te, co mu napiszę, żeby były...
Interface odpada, ponieważ muszę mieć konstruktor, a interface na to nie pozwala.

Przepraszam, jeżeli mój post jest nieczytelny, ale trudno mi opisać ten problem :(

Pozdrawiam

0

Z ciekawości jakie są pobudki, które motywują Cię do stworzenia tego typu rozwiązania? I czy kolega słyszał o jakichś zasadach projektowania obiektowego? np. SRP ? http://en.wikipedia.org/wiki/Single_responsibility_principle
Może po prostu zamiast dziedziczenia w twoim systemie chciałbyś wykorzystać agregację?

PS. np. System w .NET to namespace, a nie klasa.

0

Możesz stworzyć interfejsy IMusic, IPrograms które implementują odpowiednie klasy, a klasa System implementuje wszystkie te interfejsy.

Przyłączam się też do pytania z posta wyżej

0

Cześć!
Dzięki za odpowiedzi.
Odpowiedź użytkownika "knrdk" byłaby prawie dobra, ale tak jak mówiłem: w chociaż jednej klasie (czy tam interfejsie) muszę mieć wszystkie funkcję występujące w danych klasach.
Dlaczego akurat tak chcę? Bo tak muszę mieć. Nie widzę innego dobrego rozwiązania dla mojego problemu. Uwierzcie mi, że tak byłoby najprościej.

Pozdrawiam

0

Wzorce projektowe -> Mediator

Low413 napisał(a):

Bo tak muszę mieć.

A to jest argument, z którym nie sposób dyskutować.

0
Low413 napisał(a):

tak jak mówiłem: w chociaż jednej klasie (czy tam interfejsie) muszę mieć wszystkie funkcję występujące w danych klasach.

W takim razie zrób też jedną klasę/interfejs, który będzie implementował wszystkie inne interfejsy.

Nie widzę innego dobrego rozwiązania dla mojego problemu. Uwierzcie mi, że tak byłoby najprościej.

Wierzymy Ci, że nie widzisz innego rozwiązania.
Może i masz rację, a może tylko wydaje Ci się, że tak byłoby najprościej, bo masz małe doświadczenie. Uwierz, że na forum są ludzie ze sporym doświadczeniem i wiedzą, którzy być może mogliby zaproponować lepsze rozwiązanie, gdyby tylko dokładniej znali problem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1