Objektorientierte Programmierung ist ein Programmierparadigma unter Verwendung von "Objekten": Datenstrukturen, die aus Datenfeldern und Methoden zusammen mit ihren Interaktionen bestehen.
Stellen Sie sich vor, ich habe diese Klasse: public class Test { private String[] arr = new String[]{"1","2"}; public String[] getArr() { return arr; } } Jetzt habe ich eine andere Klasse, die die obige Klasse verwendet: Test test = new Test(); test.getArr()[0] ="some value!"; //!!! Das ist also das …
Ich lese das Buch "Exceptional C ++" von Herb Sutter und habe in diesem Buch etwas über die pImpl-Sprache gelernt. Grundsätzlich besteht die Idee darin, eine Struktur für die privateObjekte von a zu erstellen classund diese dynamisch zuzuweisen, um die Kompilierungszeit zu verkürzen (und auch die privaten Implementierungen besser auszublenden). …
Wenn ich den folgenden Python-Code habe: class Foo(object): bar = 1 def bah(self): print(bar) f = Foo() f.bah() Es beschwert sich NameError: global name 'bar' is not defined Wie kann ich barinnerhalb der Methode auf Klasse / statische Variable zugreifen bah?
Ich habe ein Python-Objekt mit mehreren Attributen und Methoden. Ich möchte über Objektattribute iterieren. class my_python_obj(object): attr1='a' attr2='b' attr3='c' def method1(self, etc, etc): #Statements Ich möchte ein Wörterbuch generieren, das alle Objektattribute und ihre aktuellen Werte enthält, aber ich möchte dies auf dynamische Weise tun (wenn ich später ein weiteres …
Nehmen wir also an, ich habe diese Schnittstelle: public interface IBox { public void setSize(int size); public int getSize(); public int getArea(); //...and so on } Und ich habe eine Klasse, die es implementiert: public class Rectangle implements IBox { private int size; //Methods here } Wenn ich die Schnittstelle …
Die meisten gängigen Sprachen, einschließlich objektorientierter Programmiersprachen (OOP) wie C #, Visual Basic, C ++ und Java, wurden hauptsächlich zur Unterstützung der imperativen (prozeduralen) Programmierung entwickelt, während Haskell / Gofer-ähnliche Sprachen rein funktional sind. Kann jemand näher auf den Unterschied zwischen diesen beiden Programmierarten eingehen? Ich weiß, dass es von …
Was wäre eine Reihe von raffinierten Präprozessor-Hacks (ANSI C89 / ISO C90-kompatibel), die eine hässliche (aber verwendbare) Objektorientierung in C ermöglichen? Ich bin mit einigen verschiedenen objektorientierten Sprachen vertraut. Antworten Sie daher bitte nicht mit Antworten wie "Learn C ++!". Ich habe " Objektorientierte Programmierung mit ANSI C " (Vorsicht: …
Ich habe die letzten paar Stunden damit verbracht, eine Lösung für mein Problem zu finden, aber es scheint hoffnungslos zu sein. Grundsätzlich muss ich wissen, wie man eine übergeordnete Methode aus einer untergeordneten Klasse aufruft. All das, was ich bisher versucht habe, führt dazu, dass die übergeordnete Methode entweder nicht …
In C # (und vielen anderen Sprachen) ist es absolut legitim, auf private Felder anderer Instanzen desselben Typs zuzugreifen. Beispielsweise: public class Foo { private bool aBool; public void DoBar(Foo anotherFoo) { if (anotherFoo.aBool) ... } } Wie in der C # -Spezifikation (Abschnitte 3.5.1, 3.5.2) angegeben, erfolgt der Zugriff …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 6 Jahren . Verbessere diese Frage Ich bin verwirrt, welche Rolle …
Methodenverkettung ist die Praxis von Objektmethoden, die das Objekt selbst zurückgeben, damit das Ergebnis für eine andere Methode aufgerufen wird. So was: participant.addSchedule(events[1]).addSchedule(events[2]).setStatus('attending').save() Dies scheint eine gute Praxis zu sein, da es lesbaren Code oder eine "fließende Schnittstelle" erzeugt. Für mich scheint es jedoch die Objektaufrufnotation zu brechen, die durch …
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
Ich habe Probleme, die Aussage zu verstehen low in coupling and high in cohesion. Ich habe viel darüber gegoogelt und gelesen, finde es aber immer noch schwer zu verstehen. Was ich verstehe, High cohesionbedeutet, dass wir Klassen haben sollten, die darauf spezialisiert sind, eine bestimmte Funktion auszuführen. Hoffe das ist …
Ein Beispiel für das, wovon ich spreche: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Dies scheint zu funktionieren, aber ich habe gerade den Abschnitt über das Überschreiben von Attributmethoden in den ActiveRecord …
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.