Quindi ho una fabbrica che crea oggetti di diverse classi. Le possibili classi sono tutte derivate da un antenato astratto. Il factory ha un file di configurazione (sintassi JSON) e decide quale classe creare, a seconda della configurazione dell'utente. Per raggiungere questo obiettivo, la fabbrica utilizza boost :: property_tree per …
Java è orientato agli oggetti, ma perché è necessario creare un oggetto dalla classe Scanner per ottenere l'input? I next()metodi, ad esempio, non potrebbero essere statici? C a me sembra abbastanza semplice, come si basta usare scanf(), gets()o fgets(). Sono sicuro che c'è una ragione per gli sviluppatori Java per …
La classe Subè una sottoclasse di classe Sup. Cosa significa praticamente? O in altre parole, qual è il significato pratico di "eredità"? Opzione 1: il codice da Sup viene praticamente copiato in Sub. (come in "copia-incolla", ma senza il codice copiato visualizzato visivamente nella sottoclasse). Esempio: methodA()è un metodo originariamente …
Attualmente sto imparando sui modelli di progettazione. Penso che la maggior parte delle persone concorderebbe sul fatto che questi schemi sono ottimi strumenti, ma dovrebbero essere usati con moderazione e non come risposta a tutto. Usarli troppo complicherebbe eccessivamente l'applicazione con pochi benefici. I pattern dovrebbero essere usati solo dove …
Un mio collega ha escogitato una regola empirica per scegliere tra la creazione di una classe base o un'interfaccia. Lui dice: Immagina ogni nuovo metodo che stai per implementare. Per ognuno di questi, considera questo: questo metodo sarà implementato da più di una classe esattamente in questa forma, senza alcuna …
Sto seguendo un corso di C ++ nella mia scuola. Da quando ho programmato in Ruby conosco alcune cose OOP. Ma in C ++ ci sono funzioni membro, variabili membro e funzioni statiche. In Ruby abbiamo metodi di istanza, variabili di istanza e variabili di classe. E ce ne sono …
Qual è la differenza tra l'overloading di un metodo e l'override in Java? C'è una differenza nella firma del metodo, nell'identificatore di accesso, nel tipo di ritorno, ecc.?
In generale è bene evitare parole come "handle" o "process" come parte dei nomi di routine e dei nomi di classe, a meno che non si abbia a che fare con (ad esempio) handle di file o (ad esempio) processi unix. Tuttavia le classi astratte spesso non sanno davvero cosa …
Ho un valore di cui molti oggetti hanno bisogno. Ad esempio, un'applicazione finanziaria con diversi investimenti come oggetti e la maggior parte di essi necessita dell'attuale tasso di interesse. Speravo di incapsulare il mio "ambiente finanziario" come oggetto, con il tasso di interesse come proprietà. Ma gli oggetti fratelli che …
Il più delle volte quando scrivo del codice che gestisce la risposta per una determinata chiamata di funzione ottengo la seguente struttura di codice: esempio: questa è una funzione che gestirà l'autenticazione per un sistema di login class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong …
Ho un sacco di codice come questo nei miei costruttori: - function __construct($params) { $this->property = isset($params['property']) ? $params['property'] : default_val; } È meglio farlo piuttosto che specificare il valore predefinito nella definizione della proprietà? cioè public $property = default_val? A volte c'è una logica per il valore predefinito e …
Supponiamo che sto lavorando su un sistema esistente, abbastanza grande. Ho un oggetto, myObjectdi classe MyClass(per esempio, supponiamo che io stia lavorando in Java). myObjectè una composizione contenente un Collection, diciamo, un Liste altri oggetti che (penso) sono irrilevanti. Contiene metodi delegati che servono solo a ricorrere ai metodi di …
Considera questi due esempi: Passare un oggetto a un costruttore class ExampleA { private $config; public function __construct($config) { $this->config = $config; } } $config = new Config; $exampleA = new ExampleA($config); Istanziare una classe class ExampleB { private $config; public function __construct() { $this->config = new Config; } } …
Sto sviluppando una gamma di filtri post per un sito wordpress e ho creato i primi 4 con un'unica classe. Gli ultimi due hanno una portata abbastanza diversa da condividere una sola funzione (la funzione per produrre i collegamenti finali) nelle loro classi. È ragionevole, in questo caso o in …
In un linguaggio OO (es. Ma non limitato a Java) come si corregge il codice duplicato a seconda dell'ambito della sua occorrenza? Vorrei iniziare con (per esempio) nella stessa classe (ambito) esegue il refactoring del metodo Extract (correzione) nelle classi della stessa gerarchia (ambito) esegui il metodo Extract e Pull …
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.