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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.