Oppure

Loading
05/03/11 6:14
carmine
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???
aaa
05/03/11 8:20
HeDo

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)
aaa
05/03/11 11:31
TheKaneB
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
aaa
06/03/11 10:14
carmine
Grazie mille raga! chiedo scusa per la sezione sbagliata!

per iniziare a programmare in OOP che esercizi mi consigliate?
aaa