In OOP, meccanismo per limitare l'accesso ad alcuni componenti dell'oggetto o un principio di progettazione che incoraggia il disaccoppiamento dai dettagli di implementazione.
Python ci dà la possibilità di creare metodi di 'privato' e le variabili all'interno di una classe anteponendo doppia sottolineatura per il nome, in questo modo: __myPrivateMethod(). Come, quindi, si può spiegare questo >>> class MyClass: ... def myPublicMethod(self): ... print 'public method' ... def __myPrivateMethod(self): ... print 'this is …
Ho letto le domande frequenti sul C ++ ed ero curioso della frienddichiarazione. Personalmente non l'ho mai usato, tuttavia sono interessato a esplorare la lingua. Qual è un buon esempio di utilizzo friend? Leggendo le FAQ un po 'di più, mi piace l'idea che l' << >>operatore sovraccarichi e aggiunga …
Sto cercando di capire la differenza tra __getattr__e __getattribute__, tuttavia, non ci riesco. La risposta alla domanda StackTranslate.it La differenza tra __getattr__vs__getattribute__ dice: __getattribute__viene richiamato prima di esaminare gli attributi effettivi sull'oggetto e pertanto può essere difficile implementarlo correttamente. Puoi finire in infinite ricorsioni molto facilmente. Non ho assolutamente idea …
Puoi dirmi qual è la differenza tra astrazione e nascondere le informazioni nello sviluppo del software? Sono confuso. L'astrazione nasconde l'implementazione dei dettagli e le informazioni nascondono gli astratti dettagli di qualcosa. Aggiornamento: ho trovato una buona risposta per questi tre concetti. Vedi la risposta separata di seguito per diverse …
Supponiamo di avere un metodo che restituisce una vista di sola lettura in un elenco di membri: class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } Supponiamo inoltre che tutto il …
Ho due pacchetti nel mio progetto: odp.proje odp.proj.test. Ci sono alcuni metodi che voglio essere visibili solo alle classi in questi due pacchetti. Come posso fare questo? EDIT: Se non esiste il concetto di un pacchetto secondario in Java, c'è un modo per aggirare questo? Ho alcuni metodi che voglio …
Se ho capito bene, il meccanismo tipico di Dependency Injection è quello di iniettare attraverso un costruttore di classe o attraverso una proprietà pubblica (membro) della classe. Questo espone la dipendenza da iniettare e viola il principio OOP dell'incapsulamento. Sono corretto nell'identificare questo compromesso? Come gestisci questo problema? Di seguito, …
Entrambi i modelli di progettazione incapsulano un algoritmo e separano i dettagli di implementazione dalle rispettive classi chiamanti. L'unica differenza che posso distinguere è che il pattern Strategy accetta i parametri per l'esecuzione, mentre il pattern Command no. Mi sembra che il modello di comando richieda che tutte le informazioni …
In TypeScript 3.8+, quali sono le differenze tra l'uso della privateparola chiave per contrassegnare un membro come privato: class PrivateKeywordClass { private value = 1; } E usando i #campi privati proposti per JavaScript : class PrivateFieldClass { #value = 1; } Dovrei preferire l'uno all'altro?
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.