Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    OOP - confusione marche e modelli

    Ciao ragazzi,
    mi sto esercitando con la OOP e mi sono incasinato.

    Ho delle auto, ogni auto ha una marca e un modello. Io vorrei sapere quali sono tutte le marche e i modelli esistenti in modo da creare poi gli oggetti auto.

    Vorrei anche potere inserire nuove marche e nuovi modelli al bisogno.

    Come si fa?

    mia ipotesi:

    CLASSE MARCA
    nome
    modello
    ---------------
    ins_modello
    get_modelli

    ma come faccio a sapere tutte le marche esistenti? mica il nome della marca può essere un array! Allora forse c'è un'altra classe che fa questo lavoro?

    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    get_modelli potrebbe restituire un array di oggetti modello, ognuno con le proprie proprietà.

    In genere negli oggetti io metto un metodo "getById" che preleva un record dal db e ne utilizza i dati per valorizzare le proprietà dell'oggetto.

    Se voglio una lista di oggetti uso il metodo getlist, che preleva una serie di id del tipo:

    codice:
    function getlist() {
      $query = "SELECT id FROM tabella";
      $result = mysql_query($query);
      $list = array();
      while($row = mysql_fetch_array($result)) {
         $o = new Object();
         $o->getById($row);
         $list[] = $o;
    
      }
    
      return $list;
    }
    Ciao

  3. #3
    Grazie mille,
    ma non ho capito bene! Scusa, sono alle prime armi!

    facciamo un esempio. Ho ho la marca "FIAT" e "SEAT" e a loro volta i modelli "500", "600", "Marbella", "Leon".

    ora ho bisogno di:
    sapere tutte le marche a disposizione
    sapere i modelli per ogni marca
    inserire nuove marche
    inserire nuovi modelli

    Non ho capito bene il tuo consiglio, a che mi serve avere un array di oggetti "modello"?
    E poi non ho capito se la classe marca come l'ho immaginata va bene...

    Grazie mille
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  4. #4
    UP
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  5. #5
    prova così:

    Codice PHP:
    class marca {
      public 
    $nome;
      public 
    $modello;

      function 
    getId($nome) {
        
    // questa function preleva da una tabella MARCA l'ID della marca voluta
      
    }

      function 
    get_modello($id) {
       
    // qui fai una SELECT basata sull'ID restituito da getID, ad esempio
       // SELECT * FROM modelli WHERE ID=$id
       // e ti verrà restituita una atbella con i modelli della marca voluta
      
    }
    }

    $marca = new marca();
    $id $marca->getId("fiat");
    echo 
    $marca->get_modello($id); 

  6. #6
    Grazie Emulman... avevo già scritto una cosa del genere e funziona... tuttavia non capisco come faccio ad estrarre tutte le marche! Chi lo fa?
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  7. #7
    lo farà una funzione get_marche che in modo simile a get_modello preleverà tutti gl ID della tabella marche e li visualizzaer!

  8. #8
    Mi sa che ho un problema concettuale...

    la classe marca è un'astrazione che ha un nome e dei modelli... l'elenco delle marche non è qualcosa che ha a che fare con un insieme più grande della classe marca?

    io mi immaginavo una sorta di classe elenco che riceve tutte le marche e la classe marca che la estende e gestisce i modellli...

    cosa sbaglio in questa impostazione? mi puoi aiutare a capire questo aspetto a livello "teorico"?

    Grazie, 6 mitico
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  9. #9
    beh secondo esperienza personale l'esempio che ti ho fatto vedere per me è quello maggiormente realzizabile con facilità..potresti anche creare due classi, ad esempio una con marche e modelli e tutte le proprietà e metodi generali; un'altra ched eredita da quella generale e definsice proprietà e metodi nuovi per ogni singolo modello.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.