#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren