Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Avete trovato un modo per crearlo.
State cercando di utilizzare un campo staticodi una classe in fase di inizializzazione prima che sia stata creata almeno 1 istanza di quella classe. Secondo me, questa è una perversione... Questo è il modo in cui funziona normalmente:
Il principio di incapsulamento implica generalmente che tali campi dovrebbero essere nascosti, non pubblici.Un campo statico è un campo statico per questo motivo, quindi non dipende dall'avere istanze della classe. Ma se vuoi creare prima un'istanza della classe - ok, creala, ma solo all'interno della funzione. E richiedi questo campo da essa (direttamente o attraverso un metodo) - il risultato è di nuovo lo stesso.
Siete confusi su qualcosa.
No, non sono confuso su nulla.
Prima le variabili di livello globale, poi le variabili statiche e poi le variabili locali come appaiono nel codice.
Questo particolare esempio viola la raccomandazione della documentazione di noninizializzare le variabili con le funzioni. È stato più facile per gli sviluppatori scrivere un tale avvertimento che spiegare dove devono e non devono.
Rimuovi l'elettricità statica dal tuo campione e ottieni il risultato che vuoi.
No, non sono confuso su nulla.
Prima le variabili di livello globale, poi le variabili statiche e poi le variabili locali come appaiono nel codice.
Questo particolare esempio viola la raccomandazione della documentazione di noninizializzare le variabili con le funzioni. È stato più facile per gli sviluppatori scrivere un tale avvertimento che spiegare dove devono e non devono.
Rimuovi la statica dal tuo esempio e ottieni il risultato desiderato.
Se è una costante (e la visibilità globale dichiara per lo più costanti, se il codice è intelligente), non c'è altra scelta.
Riguardo a tutto ciò che è in giallo, ho una domanda: PERCHE'? Ho già capito come risolvere il problema.QUI per non fare un pasticcio con quello che hai già fatto.
"Raccomandazione di documentazione" )) Sono stupito di te. Davvero non hai ancora afferrato il punto? C'è un bug nel linguaggio. Gli stessi sviluppatori ne parlano, e vi spiegano come tamburellare correttamente per non incorrere in questo bug. Ho fatto in modo di dimenticare questo bug una volta per tutte.
Non si può iniziare il valore di qualcosa con una funzione. Anche se lo vuoi davvero. Non lo capite?
Un campo statico è un campo statico, quindi non dipende dalle istanze della classe. Ma se volete creare prima un'istanza della classe, OK, createla, ma solo all'interno della funzione. E richiedete questo campo da essa (direttamente o tramite metodo) - il risultato sarà di nuovo lo stesso.
Allora, si tratta di programmazione procedurale o orientata agli oggetti? Perché dovremmo eseguire funzioni non legate a classi nella fase precedente all'inizializzazione con riferimento a oggetti tipizzati, inoltre. Capisco che la risposta è "perché ne ho voglia". Ma se fossi lo sviluppatore, non mi affretterei a cancellare tutto e correre a sistemare questo particolare comportamento, perché è un'architettura piuttosto marginale e inoltre il problema si risolve facilmente creando un'istanza della classe. Non all'interno della funzione, ovviamente.
PER SEMPRE, per non fare un casino del casino che hai già fatto.
Non si può iniziare il valore di qualcosa con una funzione. Anche se lo vuoi davvero. Non lo capite?
Quindi è una programmazione procedurale o orientata agli oggetti? Perché, all'improvviso, eseguire funzioni non legate alle classi prima dell'inizializzazione rispetto agli oggetti tipizzati. Capisco che la risposta è "perché ne ho voglia". Ma se fossi lo sviluppatore, non mi affretterei a cancellare tutto e correre a sistemare questo particolare comportamento, perché è un'architettura piuttosto marginale e inoltre il problema si risolve facilmente creando un'istanza della classe. Non all'interno di una funzione, ovviamente.
Quindi lei è un sostenitore dell'uso di massa delle variabili globali, se ho capito bene. Allora è improbabile che io e lei ci capiamo.
Inoltre, la funzione stessa può essere un modello. E l'istanza creata, rispettivamente, dovrebbe essere parametrizzata dallo stesso tipo:
Che cosa fai?