Domande taggate «object-oriented»

Una metodologia che consente di modellare un sistema come un insieme di oggetti che possono essere controllati e manipolati in modo modulare



18
Cosa faresti se il tuo client ti richiedesse di non utilizzare la programmazione orientata agli oggetti?
Sto scrivendo un programma per simulare l' attività delle formiche in una griglia (PDF). La formica può muoversi, raccogliere oggetti e lasciarli cadere. Il problema è che mentre l'azione delle formiche e le posizioni di ciascuna formica possono essere facilmente seguite dagli attributi di classe (e possiamo facilmente creare molte …


10
In genere invii oggetti o le loro variabili membro in funzioni?
Che è una pratica generalmente accettata tra questi due casi: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } o function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } In altre parole, in genere è meglio passare interi oggetti o solo i campi necessari?


7
È un odore di codice impostare un flag in un loop per usarlo in seguito?
Ho un pezzo di codice in cui eseguo l'iterazione di una mappa fino a quando una determinata condizione è vera e successivamente utilizzo quella condizione per fare altre cose. Esempio: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() …


10
In che modo i sostenitori della Programmazione funzionale risponderebbero a questa affermazione nel Codice completo?
A pagina 839 della seconda edizione, Steve McConnell sta discutendo tutti i modi in cui i programmatori possono "conquistare la complessità" nei grandi programmi. I suoi consigli culminano con questa affermazione: "La programmazione orientata agli oggetti fornisce un livello di astrazione che si applica contemporaneamente agli algoritmi e ai dati …

6
Comprensione della "programmazione di un'interfaccia"
Mi sono imbattuto molto nel termine "programmazione su un'interfaccia anziché in un'implementazione" e penso di capire cosa significhi. Ma voglio essere sicuro di capire i suoi benefici e le sue possibili implementazioni. "Programmare su un'interfaccia" significa che, quando possibile, si dovrebbe fare riferimento a un livello più astratto di una …


3
Cosa significa "S" in OOPS?
Ho cercato la forma completa di " OOPS " su Google , ma sfortunatamente ci sono molte risposte ambigue. Alcuni dicono che è " Sistemi ", e alcuni dicono che è " Struttura ", e alcuni lo hanno persino menzionato come " Sinossi ". Qualcuno può illuminarmi, per favore, per …

8
È accettabile copiare e incollare codice lungo ma semplice invece di racchiuderlo in una classe o funzione?
Supponiamo che io abbia un segmento di codice per connettermi a Internet e mostrare i risultati della connessione in questo modo: HttpRequest* httpRequest=new HttpRequest(); httpRequest->setUrl("(some domain .com)"); httpRequest->setRequestType(HttpRequest::Type::POST); httpRequest->setRequestData("(something like name=?&age=30&...)"); httpRequest->setResponseCallback([=](HttpClient* client, HttpResponse* response){ string responseString=response->getResponseDataString(); if(response->getErrorCode()!=200){ if(response->getErrorCode()==404){ Alert* alert=new Alert(); alert->setFontSize(30); alert->setFontColor(255,255,255); alert->setPosition(Screen.MIDDLE); alert->show("Connection Error","Not Found"); }else if((some …


6
Puoi implementare la programmazione "orientata agli oggetti" senza la parola chiave class?
Supponiamo di voler fornire un'astrazione di un "conto" in una banca. Ecco un approccio, usando un functionoggetto in Python: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.