[C#] get/set

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Duken, 9. April 2009 .

  1. 9. April 2009
    get/set

    Hallo ich habe mal eine frage zu get / set .

    wie funktioniert das??????

    und ein kleines beispiel wäre auch ganz nett.
    Bitte was einfaches wir haben erst mit C# angefangen

    danke schonmal
    mfg Duken
     
  2. 9. April 2009
    AW: get/set

    Die Get und Set Methoden sind dazu da um private deklarierte Variablen ausserhalb der eigenen Klasse verfügbar zu machen. Set dient hierbei um die Variable von aussen zu Manipulieren und Get um die Variable geliefert zu bekommen.

    In php:
    PHP:
    class  foo  {
        private 
    $bar ;
        
        public function 
    getbar  () {
           return 
    $bar ;  
        }

        public function 
    setbar  ( $value )  {
            
    $bar  $value
        }
    }
    Oder meinst du die Magic-Methods?

    OK, vergiss es in C# ist das ganz was anderes.
    => Lesson10
     
  3. 10. April 2009
    AW: get/set

    Das stimmt schon, nur das php-Beispiel war jetzt ein bisschen fehl am Platz, da du dort ja sowieso auf die Variable zugreifen kannst.

    Es geht im Grunde einfach darum, dass man die Variablen einer Klasse nicht beliebig verändern kann, sondern sie immer über eine Methode (set) geändert werden müssen. Das kann z.B. dazu dienen, voher eine Gültigkeitsprüfung zu machen, wenn die Variable bspw. nicht größer als 10 sein soll.

    >> Durch diese beiden Methoden hat die Klasse also immer die Kontrolle über das, was sie ausgibt und wie sie es ausgibt, welche Werte zugelassen werden und wann eine Variable geändert werden darf, etc.

    Chillikid
     
  4. 14. April 2009
    AW: get/set

    tipp mal "prop" ein und drück 2 mal auf tab dann hast ne fertige get/set eigenschaft
     
  5. 7. Oktober 2009
    AW: get/set

    Getter und setter funktionieren im Gegensatz zu PHP und auch Java so:
    Die Klassesvariablen sollten immer private sein und werden per Konvention klein und mit einem Unterstrich begonnen.
    Code:
    class Foo
    {
     private String _bar;
    
     public String Bar
     {
     get
     {
     return this._bar;
     }
     set
     {
     this-_bar = value;
     }
     }
     }
    
    Es gibt aber auch die Möglickeit des autosetter/getter:

    Code:
    class Foo
    {
     private String _bar;
    
     public String Bar
     {
     get; set;
     }
     }
    
    Falls du es noch nicht weißt...
    Du kannst per Konstruktoren eine Klasse gleich mit den Varianlen erstellen:
    Code:
    class Foo
    {
     private String _bar;
    
     public String Bar
     {
     get; set;
     }
     public Foo()
     {
     }
     public Foo(String bar)
     {
     this._bar = bar;
     }
     }
    
    Achte darauf, dass C# KEINEN Standardkonstruktor mehr erstellt sobald du einen eigenen Konstruktor angibst.

    MSDN ist immer eine gute Adresse:
    http://msdn.microsoft.com/en-us/library/w86s7x04(VS.80).aspx

    Bei Galileo gibt es auch gute, freie Bücher zu C#:
    http://openbook.galileocomputing.de/csharp/kap19.htm
     
  6. 12. Oktober 2009
    AW: get/set

    in c# geht das ganze noch viel einfacher. Brauchst nichmal ein Member (eine variable)

    public string NameOderSoWas { get; set; }

    oder dann kannst du noch sowas machen, wenn nötig...

    public string NameOderSoWas { get; private set; }


    gruss
    razgoolyy
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.