Forum: PC-Programmierung Zuviele Methoden in Klasse


von Hans (Gast)


Lesenswert?

Hallo zusammen,

ich habe eine Klasse Interface01 in dieser ca. 20 Services sind und es 
werden auch noch mehr. Das ist okay da diese Interface Klasse laut 
spezifikation auch knapp 100 Services haben kann.

Jedoch wird es langsam unübersichtlich. Ich würde gerne etwas derartiges 
machen:

Interface01.GroupFileTransfer.Methode1
Interface01.GroupFileTransfer.Methode2
Interface01.GroupFileTransfer.Methode3

Interface01.GroupDirectory.Methode4
Interface01.GroupDirectory.Methode5

usw.

Allerdings von was spricht man jetzt hier? und ist so etwas überhaupt 
möglich, dass ich mittels Intelisens dann auch an die jeweilige Methode 
aus der gruppe komme.

Besten Dank
Gruss
Hans

von Karl H. (kbuchegg)


Lesenswert?

Hans schrieb:

> Allerdings von was spricht man jetzt hier? und ist so etwas überhaupt
> möglich, dass ich mittels Intelisens dann auch an die jeweilige Methode
> aus der gruppe komme.

Natürlich ist das möglich.
Du könntest zb für jede Gruppe eine entsprechende Klasse machen, in der 
dann die jeweiligen Methoden sind.
Und dein Interface enthält dann eben die jeweiligen Gruppenobjekte


> Interface01.GroupFileTransfer.Methode1
> Interface01.GroupFileTransfer.Methode2
> Interface01.GroupFileTransfer.Methode3
>
> Interface01.GroupDirectory.Methode4
> Interface01.GroupDirectory.Methode5

Ich denke, du hast OOP noch nicht wirklich verstanden.
Denn genau darum geht es, dass zb. die Directory Methoden selbst wieder 
ein Objekt sind, welches die Methoden bereitstellt.

So gesehen wundert es mich dann nicht, dass dein Interface 100 Methoden 
beinhaltet. Auch ein Interface darf eine Feinstruktur haben, indem es 
dir in erster Linie Zugang zu Objekten gewährt, die eine bestimmte 
Funktionalität kapseln. Niemand sagt, dass ein Interface einfach nur ein 
ungeordneter Haufen Methoden sein muss.

von Hans (Gast)


Lesenswert?

Hallo Karl - Heinz,

da kannst du recht haben. Ich brauche OO in meiner täglichen Arbeit 
eigentlich nicht. Für unsere embedded Geräte verwenden wir 
ausschliesslich C.

Kannst du mir noch einen tip geben wo ich nachlesen kann anhand eines 
Beispiels?

danke

von Karl H. (kbuchegg)


Lesenswert?

Hans schrieb:
> Hallo Karl - Heinz,
>
> da kannst du recht haben. Ich brauche OO in meiner täglichen Arbeit
> eigentlich nicht. Für unsere embedded Geräte verwenden wir
> ausschliesslich C.
>
> Kannst du mir noch einen tip geben wo ich nachlesen kann anhand eines
> Beispiels?

Was musst du da nachlesen?

class Directory
{
  public:
    void Method1();
    void Method2();
};

class File
{
  public:
    void Method1();
    void Method2();
};

class Interface
{
  public:
    Directory directory;
    File      file;
};

Interface int00;

int main
{
  int00.directory.Method1();
  int00.file.Method2();
}


Das strukturiert jetzt erst mal dein Interface.
Was nicht heißt, dass man das nicht auch noch besser machen kann. Hängt 
jetzt aber auch davon ab, was man eigentlich macht, was angedacht ist, 
wie das ganze funktionieren soll.

von Hans (Gast)


Lesenswert?

Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.