La programmazione orientata agli oggetti è un paradigma di programmazione che utilizza "oggetti": strutture di dati costituite da campi e metodi di dati insieme alle loro interazioni.
Allo stato attuale, questa domanda non è adatta al nostro formato di domande e risposte. Ci aspettiamo che le risposte siano supportate da fatti, riferimenti o competenze, ma questa domanda probabilmente solleciterà dibattiti, argomenti, sondaggi o discussioni estese. Se ritieni che questa domanda possa essere migliorata e possibilmente riaperta, visita …
Qual è lo scopo della selfparola in Python? Capisco che si riferisce all'oggetto specifico creato da quella classe, ma non riesco a capire perché debba essere esplicitamente aggiunto ad ogni funzione come parametro. Per illustrare, in Ruby posso fare questo: class myClass def myFunc(name) @name = name end end Che …
Da quando ho iniziato a studiare F # e OCaml l'anno scorso, ho letto un numero enorme di articoli che insistono sul fatto che i modelli di progettazione (specialmente in Java) sono soluzioni alternative per le funzionalità mancanti nei linguaggi imperativi. Un articolo che ho trovato fa un'affermazione abbastanza forte …
Quando e perché dovrei usare public, privateeprotected funzioni e variabili all'interno di una classe? Qual'è la differenza tra loro? Esempi: // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { …
In " Programmazione di Python ", Mark Lutz menziona "mixin". Vengo da un background C / C ++ / C # e non ho mai sentito il termine prima. Che cos'è un mixin? Leggendo tra le righe di questo esempio (che ho collegato perché è piuttosto lungo), presumo sia un …
Ho sentito che il principio di sostituzione di Liskov (LSP) è un principio fondamentale della progettazione orientata agli oggetti. Che cos'è e quali sono alcuni esempi del suo utilizzo?
Ho visto questo menzionato alcune volte e non sono chiaro su cosa significhi. Quando e perché dovresti farlo? So cosa fanno le interfacce, ma il fatto che non sia chiaro su questo mi fa pensare che mi sto perdendo nel usarle correttamente. È solo così se dovessi fare: IInterface classRef …
Ho un elenco di oggetti Python che vorrei ordinare in base a un attributo degli oggetti stessi. L'elenco è simile a: >>> ut [<Tag: 128>, <Tag: 2008>, <Tag: <>, <Tag: actionscript>, <Tag: addresses>, <Tag: aes>, <Tag: ajax> ...] Ogni oggetto ha un conteggio: >>> ut[1].count 1L Devo ordinare l'elenco in …
Sto imparando il linguaggio di programmazione Python e mi sono imbattuto in qualcosa che non capisco del tutto. In un metodo come: def method(self, blah): def __init__(?): .... .... Cosa fa self? Cosa significa essere? È obbligatorio? Cosa fa il __init__metodo? Perché è necessario (eccetera.) Penso che potrebbero essere costrutti …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 3 anni fa . Finora sono stato principalmente esposto alla programmazione OO e non vedo …
Quando dovrei usare un'interfaccia e quando dovrei usare una classe base? Dovrebbe essere sempre un'interfaccia se non desidero effettivamente definire un'implementazione di base dei metodi? Se ho una classe Dog and Cat. Perché dovrei voler implementare IPet invece di PetBase? Posso capire di avere interfacce per ISheds o IBark (IMakesNoise?), …
In termini che un programmatore OOP avrebbe capito (senza alcun background di programmazione funzionale), che cos'è una monade? Quale problema risolve e quali sono i luoghi più comuni in cui viene utilizzato? MODIFICARE: Per chiarire il tipo di comprensione che stavo cercando, diciamo che stavi convertendo un'applicazione FP che aveva …
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.