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.
Sto cercando un modo valido e pulito per aggirare il fatto che PHP5 non supporta ancora l'ereditarietà multipla. Ecco la gerarchia delle classi: Messaggio - TextMessage -------- InvitationTextMessage - EmailMessage -------- InvitationEmailMessage I due tipi di classi Invitation * hanno molto in comune; Mi piacerebbe avere una classe genitore comune, …
È possibile creare una classe interna all'interno di un'interfaccia? Se è possibile, perché dovremmo creare una classe interna come quella poiché non creeremo alcun oggetto dell'interfaccia? Queste classi interne aiutano in qualsiasi processo di sviluppo?
Prima domanda Per favore, potresti spiegarmi come potrebbe essere implementato un ACL più semplice in MVC. Ecco il primo approccio per utilizzare Acl in Controller ... <?php class MyController extends Controller { public function myMethod() { //It is just abstract code $acl = new Acl(); $acl->setController('MyController'); $acl->setMethod('myMethod'); $acl->getRole(); if (!$acl->allowed()) …
Ho alcuni oggetti grandi (più di 3 campi) che possono e devono essere immutabili. Ogni volta che mi imbatto in quel caso tendo a creare abomini di costruttori con lunghi elenchi di parametri. Non sembra giusto, è difficile da usare e la leggibilità ne soffre. È anche peggio se i …
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 …
Sembra che MutableLiveDatadifferisca LiveDatasolo dal fatto che il filesetValue()postValue() pubblici i metodi e , mentre in LiveDataessi sono protetti. Quali sono alcuni motivi per creare una classe separata per questo cambiamento e non definire semplicemente quei metodi come pubblici in LiveDatasé? In generale, una tale forma di ereditarietà (l'aumento della …
Posso chiamare dinamicamente un metodo oggetto con il nome del metodo come una stringa? Lo immagino in questo modo: var FooClass = function() { this.smile = function() {}; } var method = "smile"; var foo = new FooClass(); // I want to run smile on the foo instance. foo.{mysterious code}(); …
Recentemente ho pensato di proteggere parte del mio codice. Sono curioso di sapere come si possa essere sicuri che un oggetto non possa mai essere creato direttamente, ma solo tramite un metodo di una classe factory. Diciamo che ho una classe "oggetto business" e voglio assicurarmi che ogni istanza di …
Ho letto Gang Of Four , al fine di risolvere alcuni dei miei problemi e mi sono imbattuto nel modello Mediator . In precedenza avevo utilizzato Observer nei miei progetti per creare alcune applicazioni GUI. Sono un po 'confuso perché non trovo grandi differenze tra i due. Ho esplorato per …
Se i linguaggi di programmazione funzionale non possono salvare nessuno stato, come fanno cose semplici come leggere l'input di un utente? Come "memorizzano" l'input (o memorizzano i dati per quella materia?) Ad esempio: come si tradurrebbe questa semplice cosa in C in un linguaggio di programmazione funzionale come Haskell? #include<stdio.h> …
Sto iniziando un nuovo progetto da zero e voglio che sia pulito / abbia buoni standard di codifica. In che ordine gli sviluppatori esperti qui amano disporre le cose all'interno di una classe? A: 1) metodi pubblici 2) metodi privati 3) vars pubblici 4) vars privati B: 1) vars pubbliche …
Chiuso . Questa domanda deve essere più mirata . Attualmente non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 10 mesi fa . Migliora questa domanda Puoi spiegare il principio di sostituzione di Liskov (la …
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.