Ich habe also eine Fabrik, die Objekte verschiedener Klassen erstellt. Die möglichen Klassen stammen alle von einem abstrakten Vorfahren. Die Factory verfügt über eine Konfigurationsdatei (JSON-Syntax) und entscheidet abhängig von der Konfiguration des Benutzers, welche Klasse erstellt werden soll. Um dies zu erreichen, verwendet die Factory boost :: property_tree für …
Java ist objektorientiert, aber warum müssen wir ein Objekt aus der Scannerklasse erstellen, um Eingaben zu erhalten? Könnten next()Methoden zum Beispiel nicht einfach statisch sein? C sieht für mich ziemlich einfach aus scanf(), wenn Sie nur verwenden , gets()oder fgets(). Ich bin mir sicher, dass es für Java-Entwickler einen Grund …
Klasse Subist eine Unterklasse der Klasse Sup. Was bedeutet das praktisch? Oder mit anderen Worten, was ist die praktische Bedeutung von "Vererbung"? Option 1: Der Code von Sup wird virtuell nach Sub kopiert . (wie beim Kopieren und Einfügen, jedoch ohne den in der Unterklasse visuell angezeigten kopierten Code ). …
Ich lerne gerade über Designmuster. Ich denke, die meisten Leute würden zustimmen, dass diese Muster großartige Werkzeuge sind, aber mit Mäßigung und nicht als Antwort auf alles verwendet werden sollten. Eine zu häufige Verwendung würde die Anwendung mit geringem Nutzen überkomplizieren. Muster sollten nur verwendet werden, wenn sie die beste …
Ein Kollege von mir hat eine Faustregel für die Auswahl zwischen der Erstellung einer Basisklasse oder einer Schnittstelle entwickelt. Er sagt: Stellen Sie sich jede neue Methode vor, die Sie implementieren möchten. Für jeden von ihnen, bedenken Sie: Diese Methode wird von mehr als einer Klasse implementiert werden , in …
Ich nehme an einer C ++ - Klasse in meiner Schule teil. Seit ich in Ruby programmiert habe, kenne ich einige OOP-Sachen. In C ++ gibt es jedoch Elementfunktionen, Elementvariablen und statische Funktionen. In Ruby gibt es Instanzmethoden, Instanzvariablen und Klassenvariablen. Und es gibt noch mehr ... Gibt es einen …
Was ist der Unterschied zwischen dem Überladen einer Methode und dem Überschreiben in Java? Gibt es einen Unterschied in der Methodensignatur, dem Zugriffsspezifizierer, dem Rückgabetyp usw.?
Im Allgemeinen ist es gut, Wörter wie "handle" oder "process" als Teil von Routinennamen und Klassennamen zu vermeiden, es sei denn, Sie haben es mit (z. B.) Dateihandles oder (z. B.) Unix-Prozessen zu tun. Abstrakte Klassen wissen jedoch oft nicht wirklich, was sie mit etwas anderem anfangen sollen, als es …
Ich habe einen Wert, den viele Objekte benötigen. Zum Beispiel eine Finanzanwendung mit unterschiedlichen Anlagen als Objekten, von denen die meisten den aktuellen Zinssatz benötigen. Ich hatte gehofft, mein "finanzielles Umfeld" als Objekt mit dem Zinssatz als Eigentum zusammenzufassen. Geschwisterobjekte, die diesen Wert benötigen, können ihn jedoch nicht erreichen. Wie …
Die meiste Zeit, wenn ich Code schreibe, der die Antwort für einen bestimmten Funktionsaufruf verarbeitet, erhalte ich die folgende Codestruktur: Beispiel: Dies ist eine Funktion, die die Authentifizierung für ein Anmeldesystem übernimmt class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials …
Ich habe viel Code wie diesen in meinen Konstruktoren: - function __construct($params) { $this->property = isset($params['property']) ? $params['property'] : default_val; } Ist es besser, dies zu tun, als den Standardwert in der Eigenschaftsdefinition anzugeben? dh public $property = default_val? Manchmal gibt es eine Logik für den Standardwert, und einige Standardwerte …
Angenommen, ich arbeite an einem vorhandenen, relativ großen System. Ich habe ein Objekt myObjectder Klasse MyClass(zum Beispiel nehme ich an, ich arbeite in Java). myObjectist eine Komposition Collection, die beispielsweise a Listund andere Objekte enthält, die (glaube ich) irrelevant sind. Es enthält Delegate-Methoden, die nur dazu dienen, die Methoden aufzurufen, …
Betrachten Sie diese beiden Beispiele: Übergeben eines Objekts an einen Konstruktor class ExampleA { private $config; public function __construct($config) { $this->config = $config; } } $config = new Config; $exampleA = new ExampleA($config); Eine Klasse instanziieren class ExampleB { private $config; public function __construct() { $this->config = new Config; } …
Ich entwickle eine Reihe von Post-Filtern für eine WordPress-Site und habe die ersten 4 mit einer einzigen Klasse erstellt. Die letzten beiden unterscheiden sich im Umfang genug, um nur eine einzige Funktion (die Funktion zum Erstellen der endgültigen Links) in ihren Klassen gemeinsam zu nutzen. Ist es in diesem Fall …
Wie können Sie in einer OO-Sprache (z. B. Java) doppelten Code je nach Umfang des Auftretens reparieren? Ich würde mit (zum Beispiel) beginnen Führen Sie in derselben Klasse (Bereich) das Refactoring der Extraktionsmethode durch (Fix). Führen Sie in Klassen derselben Hierarchie (Gültigkeitsbereich) die Extraktionsmethode und das Pull-Up (Fix) aus. ...
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.