Hallo, Am Mon, 20 Jun 2005, Stefan Hundhammer schrieb:
Von der Namensgebung her gibt es da zwei Lager: Die einen ziehen es vor, eine Methode getSonstwas() und eine setSonstwas() zu nennen, die anderen benutzen sonstwas() und setSonstwas() mit dem Hintergrund, daß man sehr viel Öfter solche Werte holt, als daß man sie setzt.
Qt verwendet sonstwas() und setSonstwas(), deshalb paßt diese Methode besser ins Schema, wenn man Qt benutzt - deshalb findet man das auch in Qt-Programmen sehr viel öfter als getSonstwas().
Es gibt noch ein drittes Lager, z.B. in Perl: [..]
sonstwas() // lesen - public oder protected setSonstwas() // setzen - public oder protected _sonstwas // die Variable selber - private (!)
==== class Foo { private: int _sonstwas; public: Foo() : _sonstwas(0) { }; /* constructor */ int sonstwas(void) { return this._sonstwas; }; /* getter */ bool sonstwas(int i) { this._sonstwas = i; }; /* setter */ } ==== (Bei der Syntax bin ich grad nicht sicher, ist schon ne Weile her, dass ich C++ geschrieben habe ;) Bzw. perlish und etwas kompletter: ==== $ perl -we ' use strict; package Foo; sub new { my $proto = shift; my $class = ref($proto) || $proto; my $self = { _sonstwas => 0 }; bless( $self, $class ); return $self; } sub sonstwas { ### setter & getter my $self = shift; if($#_ >= 0) { ### setter return ($self->{_sonstwas} = $_[0])==$_[0] ? 1 : 0; } else { ### getter return $self->{_sonstwas}; } } package main; my $foo = new Foo; print $foo->sonstwas(), "\n"; print $foo->sonstwas(42), "\n"; print $foo->sonstwas(), "\n"; 1;' 0 ### default / nach init 1 ### setter 42 ### getter ==== Ich finde diese Variante recht angenehm. In C++ realisiert man das eben durch passende Prototypen (s.o.). -dnh --
Mir sind genug NT - Admins mit Gehaeltern ab 150 KDM bekannt, die weniger von NT wissen als ich - und das ist _sehr_ wenig. NT-Admins werden wie Bundestagsabgeordnete bezahlt? Wo kriegt man so Angebote? Gibt es irgendwo einen MCSE-Straßenstrich? [in dasr]