Öffentliche Mutator-Methoden in der objektorientierten Programmierung, die für die Änderung und Rückgabe des Werts privater Klassenmitglieder verantwortlich sind und somit dem Prinzip der Kapselung entsprechen.
Hier ist eine reine Python-spezifische Designfrage: class MyClass(object): ... def get_my_attr(self): ... def set_my_attr(self, value): ... und class MyClass(object): ... @property def my_attr(self): ... @my_attr.setter def my_attr(self, value): ... Mit Python können wir es so oder so machen. Wenn Sie ein Python-Programm entwerfen würden, welchen Ansatz würden Sie verwenden und …
Ich mache es wie: def set_property(property,value): def get_property(property): oder object.property = value value = object.property Ich bin neu in Python, daher erforsche ich immer noch die Syntax und möchte einige Ratschläge dazu.
Mit dieser einfachen Klasse erhalte ich die Compiler- Warnung Versuch, xinnerhalb seines eigenen Setters / Getters zu ändern / darauf zuzugreifen und wenn ich es so benutze: var p: point = Point() p.x = 12 Ich bekomme eine EXC_BAD_ACCESS. Wie kann ich dies tun, ohne Ivars explizit zu unterstützen? class …
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 2 Jahren . Verbessere diese Frage Warum ist der folgende C …
Ich habe eine Schnittstelle mit einigen Eigenschaften erstellt. Wenn die Schnittstelle nicht vorhanden wäre, würden alle Eigenschaften des Klassenobjekts auf gesetzt { get; private set; } Dies ist jedoch bei Verwendung einer Schnittstelle nicht zulässig. Kann dies erreicht werden und wenn ja, wie?
Ich habe folgende Klasse: class ReportView: NSView { var categoriesPerPage = [[Int]]() var numPages: Int = { return categoriesPerPage.count } } Die Kompilierung schlägt mit der Meldung fehl: Das Instanzmitglied 'categoryPerPage' kann nicht für den Typ 'ReportView' verwendet werden. Was bedeutet das?
Ich weiß, wie man Getter und Setter für Eigenschaften erstellt, deren Namen man bereits kennt, indem man so etwas macht: // A trivial example: function MyObject(val){ this.count = 0; this.value = val; } MyObject.prototype = { get value(){ return this.count < 2 ? "Go away" : this._value; }, set value(val){ …
Ich sah irgendwo so etwas wie das Folgende und fragte mich, was es bedeutete. Ich weiß, dass sie Getter und Setter sind, möchte aber wissen, warum der String-Typ so definiert ist. Danke für die Hilfe. public string Type { get; set; }
Ich versuche, eine Getter-Methode für ein ActiveRecord-Modell zu überschreiben. Ich habe ein Attribut nameim Modell Categoryund möchte in der Lage sein, so etwas zu tun: def name name_trans || name end Wenn das name_transAttribut nicht Null ist, geben Sie es zurück, andernfalls geben Sie das nameAttribut zurück. Wie würde ich …
Ich nehme gerade an einer C # -Klasse teil und versuche herauszufinden, wie ich am besten vorgehen kann. Ich habe einen Java-Hintergrund und bin daher nur mit den Best Practices von Java vertraut. Ich bin ein C # Neuling! Wenn ich in Java ein Privateigentum habe, mache ich das; private …
In Java kann ich zum Beispiel Getter selbst schreiben (von IDE generiert) oder Anmerkungen wie @Getter in lombok verwenden - was ziemlich einfach war. Kotlin hat jedoch standardmäßig Getter und Setter . Aber ich kann nicht verstehen, wie man sie benutzt. Ich möchte es schaffen, sagen wir - ähnlich wie …
Die Verwendung von get / set scheint in Java (aus verschiedenen Gründen) eine gängige Praxis zu sein, aber ich sehe kaum Python-Code, der dies verwendet. Warum verwenden oder vermeiden Sie get / set-Methoden in Python?
Ich habe Zweifel an Protokollen in Swift über die Verwendung von var und den Schlüsselwörtern {get set} . Aus der Apple-Dokumentation : Wenn ein Protokoll erfordert, dass eine Eigenschaft abrufbar und einstellbar ist, kann diese Eigenschaftsanforderung nicht durch eine konstant gespeicherte Eigenschaft oder eine schreibgeschützte berechnete Eigenschaft erfüllt werden. Wenn …
public: inline int GetValue() const { return m_nValue; } inline void SetValue(int nNewValue) { this -> m_nValue = nNewValue; } In Learn C ++ sagten sie, dass es schneller laufen würde. Also dachte ich, es wäre großartig, es auf Getter und Setter anzuwenden. Aber vielleicht gibt es einige Nachteile?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.