Articles of oop

Sovraccarico del metodo Java + doppia spedizione

Qualcuno può spiegare in dettaglio la ragione per cui il metodo di print(Parent parent) sovraccarico print(Parent parent) viene richiamato quando si lavora con l’istanza di Child nella mia parte di codice di prova? Qualunque particolarità dei metodi virtuali o dei metodi di sovraccarico / risoluzione in Java qui coinvolti? Qualunque riferimento diretto a Java Lang […]

Perché le mie proprietà dell’object JavaScript vengono sovrascritte da altre istanze?

Ho creato un object come il seguente. var BaseObject = function(){ var base = this; base.prop; base.setProp = function(val){ base.prop = val; } } Quando chiamo il metodo setProp , ottengo il seguente. var a = new BaseObject(); var b = new BaseObject(); a.setProp(“foo”); b.setProp(“bar”); console.log(a.prop); // outputs ‘foo’ console.log(b.prop); // outputs ‘bar’ Ho quindi […]

Mantieni “questo” riferimento nel gestore di eventi prototipo javascript

Qual è il modo corretto di conservare this riferimento javascript in un gestore di eventi memorizzato all’interno del prototipo dell’object? Mi piacerebbe stare lontano dalla creazione di vars temporanei come ‘_questo‘ o ‘quello’ e non posso usare un framework come jQuery. Ho visto molte persone parlare dell’uso di una funzione “bind”, ma non ero sicuro […]

setTimeout () all’interno della class JavaScript utilizzando “this”

Sto cercando di utilizzare setTimeout() all’interno di una funzione di class in JavaScript. Il setTimeout() dovrebbe triggersre un altro metodo nella stessa class, quindi la funzione che sto trasmettendo è scritta come window.setTimeout(“this.anotherMethod”, 4000) . Questo porta il problema: this riferimento all’object chiamante, nel caso di setTimeout() è window . Come posso utilizzare i contenitori […]

Quanto lavoro dovrebbe essere svolto in un costruttore?

Le operazioni che potrebbero richiedere del tempo devono essere eseguite in un costruttore o l’object deve essere costruito e quindi inizializzato più tardi. Ad esempio, quando si costruisce un object che rappresenta una struttura di directory, la popolazione dell’object e i relativi figli devono essere eseguiti nel costruttore. Chiaramente, una directory può contenere directory e, […]

Perché non posso creare un costruttore astratto su una class C # astratta?

Sto creando una class astratta. Voglio che ciascuna delle mie classi derivate sia forzata ad implementare una firma specifica del costruttore. Come tale, ho fatto quello che avrei fatto se volessi costringerli a implementare un metodo, ne ho fatto uno astratto. public abstract class A { abstract A(int a, int b); } Tuttavia ricevo un […]

I valori null in un database relazionale sono ok?

C’è una scuola di pensiero che i valori nulli non dovrebbero essere consentiti in un database relazionale. Cioè, l’attributo (colonna) di una tabella non dovrebbe consentire valori nulli. Venendo da uno sfondo di sviluppo del software, davvero non lo capisco. Sembra che se null è valido nel contesto dell’attributo, dovrebbe essere consentito. Questo è molto […]

Qual è la vera differenza tra “Bastard Injection” e “Poor Man’s Injection”

Dal libro “Dependency Injection in .Net” so che il grafico dell’object dovrebbe essere creato nella Composition Root dell’applicazione che ha molto senso per me quando si utilizza un contenitore IoC. In tutte le applicazioni che ho visto quando viene fatto un tentativo di usare DI, ci sono sempre due costruttori: quello con le dipendenze come […]

Qual è il metodo nascosto in Java? Anche la spiegazione di JavaDoc è confusa

Javadoc dice: la versione del metodo nascosto che viene richiamato è quella nella superclass e la versione del metodo sottoposto a override che viene richiamata è quella nella sottoclass. non suona un campanello per me Ogni chiaro esempio che mostri il significato di questo sarà molto apprezzato.

Che cosa fa il `new` in JavaScript, comunque?

Sono molto confuso su come i costruttori lavorano in Javascrpt; nonostante abbia usato il linguaggio per diversi anni (principalmente come se fosse una versione semi-imperativa di LISP) mi piacerebbe sapere di più su come gli oggetti dovrebbero funzionare in esso. Dato questo codice: function Foo(x) { return { bar: function() { return x; } }; […]