tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
1237
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Reverent Reverent ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    190
    Hallo Leute,
    Zitat von cosmo
    Ein bissel. Er meint Du sollst den Code für die Verbindung nicht überall einfach reinklatschen.
    Stell Dir vor die Verbindung ändert sich. Ergo musst Du auch allen anderen Klassen aktualisieren.
    Brauchst Du aber nicht wenn Du das in einer Klasse implementierst.
    Wenn Du diese Klasse immer wieder instanzierst erzeugst das sowieso einen Overhead.
    Versuch die Klasse überall verfügbar zu machen, nachdem sie instanziert wurde.
    Das kannst via Referenz oder Interface lösen,
    welche(s) Du deinen Klassen im Konstuktor oder via Property übergeben kannst.
    Ok via Referenz habe ich verstanden, über den Konstruktor, oder.
    Aber was ist ein Interface?
    Bitte um Erklärung!
    Bis Dann
     

  2. #2
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    Hi,

    zum Thema Interface gibt es sicher einige gute Tutorials im Netz. Und zu diesem Thema würd ich dir raten, auch sowas mal durchzulesen, weil das schon mächtig und sinnvoll ist. Mit eigenen Worten mal so für 2 min. erklären ist doof.

    Mal etwas über OOP (hoffe mal, dass da auch Interfaces behandelt werden):

    http://www.tutorials.de/tutorials27333.html

    http://www.tutorials.de/tutorials27366.html

    http://www.tutorials.de/tutorials27415.html

    hf & gl


    PS: Interfaces sind halt Objekte, die aber keine Funktions/Properties-Implementierungen, sondern nur die Funktions/Properties-Köpfe beinhalten.

    also zb.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    public interface blub
    {
         string GetBlaBlub(int index);  //Funktionskopf
     
         string BlaBlub //Property, was get und set enthalten MUSS
         { 
              get;
              set;
         }
    }
    wenn du das jetzt auf deine Klasse legst, also
    Code :
    1
    2
    3
    4
    
    public class tralala : blub
    {
     
    }
    musst du dadrin noch die Methode GetBlaBlub und das Property BlaBlub einbauen, also

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    public class tralala : blub
    {
         string GetBlaBlub(int index)  //Funktion
         {
            //deine Implementation
         }
     
         string BlaBlub //Property, was get und set enthalten MUSS
         { 
              get { return... }
              set { ....=value}
         }
    }

    Du MUSST dann die festgelegten Funktionen eines eingebauten Interfaces in der jeweiligen Klasse übernehmen, ob du da was einbaust(Implementation), ist deine Sache.
    Jetzt kannst du zb, wenn du von dem tralala-Objekt eine Collection hast, so vorgehen:

    Code :
    1
    2
    3
    4
    
    foreach(blub obj in _oSortedListWithMixedObjects.Values)
    {
          obj.BlaBlub = "du bist ein Interface-Property";
    }

    Gerade bei PluginProgrammierungen benutzt man Interfaces immer, aber genauso bei mehreschichtige Anwendungen usw.

    Und wenn du dir jetzt noch ein Tutorial dazu anschaust, wirste das ganze auch verstehen

    hf & gl

    NRF
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  3. #3
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von Reverent
    Aber was ist ein Interface?
    Bitte um Erklärung!
    Bis Dann
    Was soll den das jetzt?
    Nimm es mir nicht übel, aber Du solltest Dich über die grundlegenden Elemente
    von C# schon SELBER erstmal schlau machen, bevor Du Du postest.
    Wenn Du dann ein Frage dazu hast ist es vollkommen ok.
    Aber wir sind doch keine Hilfsschule oder ähnliches.
    Hier wird gefälligst konstruktiv über Lösungen und Verständnisprobleme und diskutiert.
    Und gewöhn dich endlich mal an die Suchfunktion.

    Ich find NRFi hats zwar gut gemeint,
    aber das hättest auch alles selber in erfahrung bringen können.

    @Topic:
    In den Beispielel oben werden in dem Interface, Propertys
    und Metoden/Funktionen der Klasse verfügbar gemacht.
    Das währe jetzt die richtige Interfacevariante innerhalb der Klasse:
    Code :
    1
    2
    3
    
    bool MyNamespace.IMainForm.ActivatePlayCounter {
        set{ tmrPlayCount.Enabled = value; }
    }
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Aber wir sind doch keine Hilfsschule oder ähnliches.
    Jetzt mach aber mal halb lang!
    Was hast du denn für ein Problem damit dein "riesiges" Wissen preiszugeben? Du verteilst deine "Weisheiten" doch sonst auch wo du kannst


    Wenn du die Frage des OP erklären kannst, solltest du besser darum bemüht sein eine "fachlich fundierte" Antwort abzugeben als hier Leute einfach so fertig zu machen. Dein Ton geht mir ehrlich gesagt schon eine ganze Weile auf den Wecker...

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    Ich finde hier mittlerweile kaum noch einen Thread hier, wo leute für geschriebenes von bestimmten zwei Leuten hier im Forum einen reingewürgt kriegen. Das kotzt mich hier echt schon an mittlerweile. Es sind NICHT alle so "schlau" wie ihr und es sitzen nicht ALLE die ganze zeit im Netz und wissen, wie sie sich immer zu verhalten haben, also bisschen mehr Freundlichkeit bitte. Das geht mir hier echt schon auf den Piss, habe selten so unfreundliche Antworten auf Threads gelesen, echt nicht.

    Ok, hier muss man echt sagen, dass reverent es sich echt leicht gemacht hat, aber man kanns auch einfach mal drauf belassen, wenn sich schon jemand "erbarmt".

    Das kommt hier schon alles mittlerweile echt arrogant rüber, von wegen ich bin der coolste und ihr seid alle dumm und das zeig ich euch jetzt auch.

    So, das ist jetzt mal meine Meinung hier über gewisse Leute.
    Geändert von NRFi (03.08.05 um 11:24 Uhr) Grund: musste sein
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  6. #6
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  7. #7
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Um wieder ein wenig Konstruktivität hinein zu bekommen versuch ich mal eine einfache Beschreibung des Begriffes Interface.

    Ein Interface (Schnittstelle) beschreibt einfach wie eine Klasse (welche das Interace später implementiert, also mit Logik befüllt) auszusehen hat. Es werden über das Interface Methoden vorgegeben, welche unbedingt ausprogrammiert werden müssen.

    Wozu dient das ganze?
    Du schreibst zb eine Software - nehmen wir als Beispiel Winamp, den kennt jeder. Winamp unterstützt Plugins. D.h. jeder der lustig ist, kann ein Plugin für den Winamp schreiben. Nun braucht diese Person Vorgaben. Wie muss das Plugin aussehen? Welche Methoden muss mein Plugin enthalten, damit Winamp mit meinem Plugin umgehen kann. Genau diese Vorgaben werden durch ein Interface beschrieben.
     

  8. #8
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von Thomas Darimont
    Jetzt mach aber mal halb lang!
    Was hast du denn für ein Problem damit dein riesiges Wissen preiszugeben? Du verteilst deine Weisheiten doch sonst auch wo du kannst
    Ich find es einfach unverschämt einfach Grundlegende Infos zu einer Sache zu erwarten,
    deren Name bekannt ist.
    Er ist eindeutig VIEL ZU FAUL sich selber vorher mal zu informieren.
    So siehts aus


    Zitat Zitat von Thomas Darimont
    Wenn du die Frage des OP erklären kannst, solltest du besser darum bemüht sein eine "fachlich fundierte" Antwort abzugeben als hier Leute einfach so fertig zu machen. Dein Ton geht mir ehrlich gesagt schon eine ganze Weile auf den Wecker...
    Schau Dir sein Programm an.
    Ich seh sehr wenig davon, dass die Vorschläge umgesetzt wurden, die wir gemacht haben.
    Das kommt einem vor als sei alles für die Katz.
    Ist es sowieso auch wenn er nicht anfängt,
    sich mal was richtig durchzulesen und sich zu BEGRIFFEN im nachhinein,
    selber zu informiert bevor er wieder dazu neue Fragen stellt.

    Glaubt ihr echt ich hab mein ganzes Wissen nur aus dem Forum?
    Das Forum hat mit die Möglichkeit gegeben mein grundlegendes Wissen zu den Dingen,
    zu erweitern und die zusammenhänge zwischen denen zu erkennen.
    Ich hab hier Dinge gelernt ohne deren Grundlagen ich wer weis wie lang gebaucht hätt, diese zu verstehen.
    Ohne Selbststudium kann man das Programmieren absolut vergessen

    Meine Statements sind vielleicht hart, aber die Wahrheit.
    Und ich würde nie jemand kritisieren wenn ich seine Art mitzuarbeiten nicht kenne.

    @NRFi: Wann, wie, wo, hab ich Dir jemals eine reingewürgt?
    Zitat Zitat von NRFi
    Ok, hier muss man echt sagen, dass reverent es sich echt leicht gemacht hat, aber man kanns auch einfach mal drauf belassen, wenn sich schon jemand "erbarmt".
    Denkst Du wirklich das das fäir denen gegenüber ist, die sich wirklich kümmern?
    Hättest eher jemand helfen können der schon selber was herrausgefunden hat
    und letztendlich noch eine kleine Verständnishilfe gebraucht hätte.

    Mein Gott, ich entschuldige mich wenn ich beleidgend geworden sein sollte.
    Und weise Die User in zukunkt auch nicht mehr darauf hin.
    Ich poste dann einfach nicht und gut iss.
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  9. #9
    chironex chironex ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    158
    Also, auch wenn cosmochaosmaker einen eher scharfen Ton angeschlagen hat, hat er schon recht. Das Forum ersetzt keine Schulung. Es soll lediglich Hilfe bei spezifischen Problemen geben. Wenn jemand nicht weiss, was ein Interface ist, braucht er kein Forum sondern eine Schulung oder ein Buch über OO.

    Leider kommt es hier oft vor, dass jemand hier reinpostet und professionellen Support zum Nulltarif erwartet. Die meisten kommen hier auch nur her, wenn sie Probleme haben, helfen anderen aber genau null, bedanken sich nicht und setzen den Thread nicht mal auf erledigt. Das soll ja auch nicht der Sinn sein, oder? Dass da einem mal der Hut hochgeht kann ich schon verstehen und hat meiner Meinung nach nichts mit Arroganz zu tun. Außerdem sollte den hier beschriebenen beiden Personen durchaus auch mal Dankbarkeit ausgesprochen werden, denn ohne sie wäre das .Net-Forum wohl eher aufgeschmissen.
     

  10. #10
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    gebe chironex natürlich auch recht,

    mein posting war evtl etwas übertrieben, aber es ging mir nicht nur um diesen Thread, sondern ums allgemeine. was genau ich meine werde ich noch den leuten zuschicken, damit ich das hier nicht unbegründet lasse

    @cosmochaosmaker, ich meinte nicht damit, dass du mich irgendwie angemacht hast, sonst hätte ich dir schon meine meinung gesagt. aber ich werd gerne beispiele bringen, wenn ich sie noch finden sollte.
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  11. #11
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von NRFi
    gebe chironex natürlich auch recht,

    mein posting war evtl etwas übertrieben, aber es ging mir nicht nur um diesen Thread, sondern ums allgemeine. was genau ich meine werde ich noch den leuten zuschicken, damit ich das hier nicht unbegründet lasse
    Schlechter Versuch
    Zitat Zitat von NRFi
    @cosmochaosmaker, ich meinte nicht damit, dass du mich irgendwie angemacht hast[...]
    Pass mal auf,
    dein Statement zum Thema war absolut überflüssig!
    Hast ja nicht mal verstanden worum es mir ging,
    weil Du dich sofort selber angegriffen gefühlt hattest
    und nicht nur mich, sondern auch "jemand Anderes" gleich mit angemacht hast.
    Zitat Zitat von NRFi
    Ich finde hier mittlerweile kaum noch einen Thread hier, wo leute für geschriebenes von bestimmten zwei Leuten hier im Forum einen reingewürgt kriegen.
    Zitat Zitat von NRFi
    aber ich werd gerne beispiele bringen, wenn ich sie noch finden sollte.
    Willst Du mir jetzt irgendwie drohen?
    Ich wüsste nicht was sich da finden ließe.
    Is ja echt lächerlich.

    Vollgendes trifft den Punkt genau und ich frag mich, warum ich's nicht gleich so formuliert hab.
    Das hätte uns allen hier ne Menge sinnloses Gesülze erspaart.
    Zitat Zitat von chironex
    Leider kommt es hier oft vor, dass jemand hier reinpostet und professionellen Support zum Nulltarif erwartet.
    Manchen Leuten hier macht das posten auch Spaß,
    nur leider geht das Gefühl und vor allem der Sinn dieser Community
    durch solche Leute total verloren.
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  12. #12
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Zitat Zitat von cosmochaosmaker
    Schlechter Versuch
    Pass mal auf,
    dein Statement zum Thema war absolut überflüssig!
    Die ganze Diskussion is zumindest an diesem Ort überflüssig. Der Fragesteller will eine Lösung und keine Diskussion wo der eine Polizei spielt und der andere sich angepi**t fühlt. Machts euch das bitte per PN oder wie auch immer aus, aber net da. Ist echt kindisch ...
     

  13. #13
    Reverent Reverent ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    190
    Hallo Leute,
    danke noch mal für die Erklärungen aber wie muss ich mir das bildlich Vorstellen?
    Ich habe mich jetzt schon etwas eingelesen, aber der Groschen fällt noch nicht.
    Hier also die Schichten:

    Darstellungsschicht (UI UserInterface)
    Verarbeitungsschicht (BusinessLogic)
    Datensicherungsschicht (DAL Data Access Layer)
    Datenmedium (z.B. eine Datenbank (MySQL))
    (Ich hoffe die Begriffe stimmen)

    Wo in der Kommunikation unter den Schichten finde ich jetzt das Interface?

    Meine "jungfreuliche Vorstellung" ist, ich habe da mal ein kleines Projekt und für jede Schicht eine Klasse (ist vielleicht auch unsauber)
    So und jetzt erzeuge ich ein Objekt von der Verarbeitungsschicht in der Darstellungsschicht um auf die Verarbeitungsklasse zu zugreifen.
    Dann ein Objekt von der Datensicherungsschicht in der Verarbeitungsschicht.
    Und dann das ganze Rückwerts also ein Objekt von der Verarbeitungsschicht in der Datensicherungsschicht u.s.w. .
    So stelle ich mir die Kommunikation vor, aber ich weiß da gibt es noch was Besseres und vielleicht ist es ja so unsauber?

    Weiß jemand gute Literatur oder kann mir das mal jemand "bildlich" Erklären.
    Danke schon mal
     

Ähnliche Themen

  1. Interface
    Von Crash123 im Forum Java Grundlagen
    Antworten: 1
    Letzter Beitrag: 04.06.09, 12:41
  2. interface in VC++
    Von pandablue7 im Forum C/C++
    Antworten: 16
    Letzter Beitrag: 31.05.05, 12:06
  3. Interface
    Von The real Gangster im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 11.03.03, 20:38
  4. Interface
    Von FreakOnALeash im Forum HTML-Editoren
    Antworten: 3
    Letzter Beitrag: 22.07.02, 13:22
  5. Interface
    Von Swishagent im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 04.07.01, 20:39