Preguntas etiquetadas con object-oriented

Una metodología que permite modelar un sistema como un conjunto de objetos que pueden controlarse y manipularse de manera modular





10
¿Generalmente envía objetos o sus variables miembro a funciones?
Lo cual es una práctica generalmente aceptada entre estos dos casos: 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); } En otras palabras, ¿es generalmente mejor pasar objetos enteros o solo los campos que necesita?


7
¿Es un olor a código establecer una bandera en un bucle para usarla más tarde?
Tengo un código en el que itero un mapa hasta que cierta condición es verdadera y luego uso esa condición para hacer algunas cosas más. Ejemplo: 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() > limit) { limitFlag …

10
Dada una manada de caballos, ¿cómo encuentro la longitud promedio del cuerno de todos los unicornios?
La pregunta anterior es un ejemplo abstracto de un problema común que encuentro en el código heredado, o más exactamente, problemas resultantes de intentos anteriores para resolver este problema. Puedo pensar en al menos un método de .NET Framework destinado a abordar este problema, como el Enumerable.OfType<T>método. Pero el hecho …

10
¿Cómo responderían los proponentes de la programación funcional a esta declaración en Code Complete?
En la página 839 de la segunda edición, Steve McConnell está discutiendo todas las formas en que los programadores pueden "conquistar la complejidad" en grandes programas. Sus consejos culminan con esta declaración: "La programación orientada a objetos proporciona un nivel de abstracción que se aplica a algoritmos y datos al …

6
Comprender la "programación a una interfaz"
Me he encontrado con el término "programar para una interfaz en lugar de una implementación", y creo que entiendo lo que significa. Pero quiero asegurarme de entender sus beneficios y sus posibles implementaciones. "Programación en una interfaz" significa que, cuando sea posible, uno debe referirse a un nivel más abstracto …


3
¿Qué significa "S" en OOPS?
He buscado la forma completa de " OOPS " en Google , pero desafortunadamente, hay muchas respuestas ambiguas. Algunos dicen que es " Sistemas ", y algunos dicen que es " Estructura ", y algunos incluso lo han mencionado como " Sinopsis ". ¿Alguien puede iluminarme, para encontrar la forma …

8
¿Es aceptable copiar y pegar código largo pero directo en lugar de envolverlos en una clase o función?
Supongamos que tengo un segmento de código para conectarme a internet y mostrar resultados de conexión como este: 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 other different cases)){ …


6
¿Se puede implementar la programación "orientada a objetos" sin la palabra clave de clase?
Digamos que queremos proporcionar una abstracción de una "cuenta" en un banco. Aquí hay un enfoque, usando un functionobjeto en 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 …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.