Re: QT 3.3.4 Kommunikation zwischen Dialogen
David Haller <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
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]
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfÃŒgbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]