Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Pensare in OOP
Forum - C# / VB.NET - Pensare in OOP

Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 7:14
Sabato, 05/03/2011
Ragazzi ho bisogno di un aiuto un po teorico...
vorrei realizzare un mio progetto...ma non so come pensare in OOP, cioè non riesco a pensare al numero delle classi,metodi ecc...

chi mi da qualke dritta???


Computer Science
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 9:20
Sabato, 05/03/2011

non devi pensare al "numero di classi" "numero di metodi", ma semplicemente decomporre il mondo che vuoi rappresentare in oggetti. Facciamo un esempio con una casa:

Vuoi rappresentare in un programma una casa con tutte le sue interazioni, si può partire da avere una classe Casa. Ma che proprietà ha questa classe? Ad esempio Indirizzo, Comune, Colore. Poi immagina di entrare dentro questa "casa", avrà una proprietà Porta che a sua volta è un'istanza della classe Porta che ha le proprietà "Colore" e "Blindata", potrebbe avere i metodi apri() e chiudi(int NumeroMandate).
Poi continuiamo nella casa: avrà una proprietà Piani, collection di Piano. Una classe Piano ha una proprietà Stanze collection di Stanza. Una Stanza ha delle proprietà come ad esempio Metratura e Pavimento, quest'ultimo istanza della classe Pavimentazione (oppure di una enum TipoPavimento), ma l'istanza di Pavimentazione ti permetterebbe di impementare il metodo Pulisci().
Si potrebbe poi affinare il concetto di porta per rappresentare le porte interne, quindi si prende Porta e la si eredita in PortaEsterna e PortaInterna, quest'ultima ha le proprietà PrimaStanza e SecondaStanza, ovvero le stanze che collega.
Poi ogni stanza potrebbe avere una collection di Elettrodomestico, quest'ultima è una classe astratta ereditata da Frigorifero, Forno, Tostapane, etc...
potrebbe avere le proprietà Consumo, Costo, DataDiAcquisto, etc..
il metodo astratto Usa().

Questo è pensare OOP, ovviamente è un esempio, ma questa è la direzione da prendere quando si vuole realizzare un programma ad oggetti: decomporre il mondo in oggetti assegnando proprietà (ciò che hanno) e metodi (ciò che fanno)


Ingegnere Informatico
https://ldlagency.it
PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 12:31
Sabato, 05/03/2011
quoto HeDo, ma la sezione più appropriata per il thread dovrebbe essere "Altri linguaggi" oppure "Algoritmi", visto che il ragionamento esposto è valido per tutti i linguaggi ad oggetti e non solo per quelli .Net


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 11:14
Domenica, 06/03/2011
Grazie mille raga!  chiedo scusa per la sezione sbagliata!

per iniziare a programmare in OOP che esercizi mi consigliate?


Computer Science
PM Quote