Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: ereditarietà

  1. #1
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323

    ereditarietà

    Ciao a tutti,
    mi sono da poco tuffato nel mondo della OOP!

    Penso di aver capito i concetti fondamentale come ereditarietà,prevalenza dei metodi,sovraccarico dei metodi e degli operatori,ma adesso ho bisogno di capire i risvolti pratici.

    Nel senso capita davvero cosi spesso nei programmi di utilizzare l'ereditarietà ?
    Avevo scritto un gestionale per prenotazioni in VB6 e più avanti mi piacerebbe riscriverlo in C# ma sfruttando i concetti della OOP...quindi volevo chiedervi consigli.

    Se vi capitasse di scrivere un gestionale per prenotazioni seguendo la OOP,come lo progettereste ?
    In che cosa sfruttereste l'ereditarietà ?
    Non sono i concetti che non capisco ma piuttosto il loro utilizzo reale!

    Vi prego non fatemi esempi tipo la classe padre mammiferi e poi le sottoclassi leoni,tigri e roba del genere...a livello di concetto penso di aver capito,ma vorrei proprio sapere come scrivereste un gestionale per prenotazioni (visto che l'ho già scritto in vb6 e quindi mi risulterebbero molto più chiare le differenze).

    Grazie 1000 delle risposte!
    Ciao
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  2. #2
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    111

    Re: ereditarietà

    Originariamente inviato da evil80
    Ciao a tutti,
    mi sono da poco tuffato nel mondo della OOP!

    Penso di aver capito i concetti fondamentale come ereditarietà,prevalenza dei metodi,sovraccarico dei metodi e degli operatori,ma adesso ho bisogno di capire i risvolti pratici.

    Nel senso capita davvero cosi spesso nei programmi di utilizzare l'ereditarietà ?
    Avevo scritto un gestionale per prenotazioni in VB6 e più avanti mi piacerebbe riscriverlo in C# ma sfruttando i concetti della OOP...quindi volevo chiedervi consigli.

    Se vi capitasse di scrivere un gestionale per prenotazioni seguendo la OOP,come lo progettereste ?
    In che cosa sfruttereste l'ereditarietà ?
    Non sono i concetti che non capisco ma piuttosto il loro utilizzo reale!

    Vi prego non fatemi esempi tipo la classe padre mammiferi e poi le sottoclassi leoni,tigri e roba del genere...a livello di concetto penso di aver capito,ma vorrei proprio sapere come scrivereste un gestionale per prenotazioni (visto che l'ho già scritto in vb6 e quindi mi risulterebbero molto più chiare le differenze).

    Grazie 1000 delle risposte!
    Ciao

    Guarda, lavoro con vb6 da ormai 4 anni e non ho mai sentito la mancanza della vera ereditarietà.

  3. #3
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    daccordo,so che si possono scrivere programmi anche in vb6...ma io voglio impapare a scrivere programmi object oriented(che per i suoi principi genera progetti molto più organizzati e riutilizzabili).

    C# mi piace davvero molto e voglio imparare a sfruttarne le potenzialità !

    Comunque grazie 1000.
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  4. #4
    sinceramente faccio fatica a capire cosa intendi per opportunità pratiche

    supponi di avere creato una classse poligoni una quadrilateri una rettangoli e una quadrati che ti può servire per un programma di grafica

    la classe genitore è quella dei poligoni che sono l'insieme + grande mentre quadrati è quello + piccolo


    il quadrato differenzia dal rettangolo solo per il fatto che il suoi lati sono uguali
    ma la procedura che tu hai già creto per calcolare l'area del rettangolo puoi riutilizzarla per quella del quadrato mentre nel caso del perimetro non ti interessa + sommare i lati ma prenderne uno e moltiplicare per 4
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    i concetti li ho capiti...ma se tu per esempio dovessi scrivere un gestionale per prenotazioni come lo progetteresti ?
    OVVIAMENTE non ti chiedo di scrivermi il codice ma solo di dirmi che classi scriveresti e in quale modo le relazioni tra loro.

    Mi basterebbe che mi mettessi in evidenza 3 o più classi in maniera puramente logica e mi indicassi le "relazioni" tra loro.
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  6. #6
    supponendo si tratta di una prenotazione di un viaggio
    avrei :
    - classe cliente
    --->il cliente è un'oggetto (con sue problematiche e aspetti comuni)
    - classe Location
    ---> ogni location diventa una classe che prende come modello la principale(esempio a cortina ci sarà da tenere conto dell'albergo come in ogni altra località ma non del mare)
    - classe mezzo
    ---> ogni mezzo diventa una classe che prende come modello la principale(esempio in treno ci sarà da tenere conto del biglietto come in ogni altro mezzo ma non del check-in)
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    ok ti ringrazio,ma è evidente che con la OOP prima di metterti a scrivere codice devi aver ben chiara la progettazione delle classi e i suoi legami con le altre.
    Dove trovo documentazione che illustra come procedere in questo senso,voglio dire esisterà un criterio di progettazione ?
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  8. #8
    Acquista un libro di software engineering.

    Però non ti fossilizzare sull'uso del linguaggio C#, il linguaggio e' solo uno strumento, la progettazione OOP e' un argomento molto piu vasto.

    Quando si usa in pratica l'ereditarietà?

    Allora esempio scemo: in un anagrafica hai clienti e fornitori, sono sempre elementi anagrafici: ragione sociale eccetera, però col fornitore fai acquisti col cliente fai vendite , giusto?

    allora crei una classe base anagrafico con metodi ragione sociale eccetera.

    Poi crei due classi derivate CLiente e Fornitore, la prima col metodo Vendi(Prodotto p), e la seconda col metodo Acquista(Materiale m).

    Ad un certo livello ti interessera' solo il numero di telefono e allora usi i metodi in comune della classe base, nel secondo caso ti interessera il metodo specifico.

    Esempio:
    hai una classe che visualizza i numeri di telefono di un anagrafico

    Cliente Rossi = new Cliente("Rossi");
    Rossi.Vendi(new Product("Automobile", 1)); //qua lo uso come cliente
    Fornitore Bianchi = new Fornitore("Bianchi");
    Bianchi.Acquista(new Product("Pneumatici", 4));

    ....

    Visualizzatore.stampa(Rossi); //qua lo uso come anagrafico
    Visualizzatore.stampa(Bianchi);

    Non so se rendo l'idea
    Ciao

  9. #9
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    il prossimo semestre avrò l'esame di ingegneria del software,allora imparerò li come progettare le classi e le loro relazioni ?

    Grazie 1000!
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  10. #10
    Si, ma ti insegnano molto di piu, a progettare in grande, un gradino sopra all'essere solo programmatori.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.