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.
Immagina di avere questa classe: public class Test { private String[] arr = new String[]{"1","2"}; public String[] getArr() { return arr; } } Ora, ho un'altra classe che utilizza la classe sopra: Test test = new Test(); test.getArr()[0] ="some value!"; //!!! Quindi questo è il problema: ho avuto accesso a …
Sto leggendo il libro "Eccezionale C ++" di Herb Sutter e in quel libro ho imparato a conoscere il linguaggio pImpl. Fondamentalmente, l'idea è quella di creare una struttura per gli privateoggetti di un classe allocarli dinamicamente per ridurre i tempi di compilazione (e anche nascondere le implementazioni private in …
Se ho il seguente codice Python: class Foo(object): bar = 1 def bah(self): print(bar) f = Foo() f.bah() Si lamenta NameError: global name 'bar' is not defined Come posso accedere alla variabile di classe / statica barall'interno del metodo bah?
Ho un oggetto Python con diversi attributi e metodi. Voglio scorrere gli attributi degli oggetti. class my_python_obj(object): attr1='a' attr2='b' attr3='c' def method1(self, etc, etc): #Statements Voglio generare un dizionario contenente tutti gli attributi degli oggetti e i loro valori correnti, ma voglio farlo in modo dinamico (quindi se in seguito …
Quindi diciamo che ho questa interfaccia: public interface IBox { public void setSize(int size); public int getSize(); public int getArea(); //...and so on } E ho una classe che la implementa: public class Rectangle implements IBox { private int size; //Methods here } Se volessi usare l'interfaccia IBox, in realtà …
La maggior parte dei linguaggi tradizionali, compresi i linguaggi di programmazione orientata agli oggetti (OOP) come C #, Visual Basic, C ++ e Java sono stati progettati per supportare principalmente la programmazione imperativa (procedurale), mentre i linguaggi come Haskell / gofer sono puramente funzionali. Qualcuno può approfondire qual è la …
Quale sarebbe un insieme di abili hack del preprocessore (compatibile ANSI C89 / ISO C90) che consentono un brutto (ma utilizzabile) orientamento agli oggetti in C? Conosco alcuni diversi linguaggi orientati agli oggetti, quindi per favore non rispondere con risposte come "Impara C ++!". Ho letto " Programmazione orientata agli …
Ho passato le ultime due ore a cercare di trovare una soluzione al mio problema, ma sembra essere senza speranza. Fondamentalmente ho bisogno di sapere come chiamare un metodo genitore da una classe figlio. Tutte le cose che ho provato finora finiscono per non funzionare o sovrascrivere il metodo genitore. …
In C # (e in molte altre lingue) è perfettamente legittimo accedere a campi privati di altre istanze dello stesso tipo. Per esempio: public class Foo { private bool aBool; public void DoBar(Foo anotherFoo) { if (anotherFoo.aBool) ... } } Come la specifica C # (sezioni 3.5.1, 3.5.2) afferma che …
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 6 anni fa . Migliora questa domanda Sono confuso che qual è l'effettivo ruolo di …
Il concatenamento dei metodi è la pratica dei metodi oggetto che restituiscono l'oggetto stesso affinché il risultato venga chiamato per un altro metodo. Come questo: participant.addSchedule(events[1]).addSchedule(events[2]).setStatus('attending').save() Questa sembra essere considerata una buona pratica, poiché produce codice leggibile o "interfaccia fluente". Tuttavia, a me sembra invece spezzare l'oggetto che chiama la …
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 …
Ho problemi a comprendere l'affermazione low in coupling and high in cohesion. Ho cercato su Google e letto molto su questo, ma trovo ancora difficile da capire. Ciò che capisco è High cohesionche dovremmo avere lezioni specializzate per svolgere una particolare funzione. Spero che sia corretto? Come una classe di …
Un esempio di ciò di cui sto parlando: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Questo sembra funzionare, ma ho appena letto la sezione sulla sostituzione dei metodi di attributo nei documenti …
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.