Pagina 5 di 5 primaprima ... 3 4 5
Visualizzazione dei risultati da 41 a 50 su 50

Discussione: Funzioni o Classi

  1. #41
    Scusa?
    E come fai il polimorfismo in procedurale dove NON hai l'ereditarietà?
    Per inciso, è ovvio che mi riferivo al polimorfismo della OOP, non saltare fuori con cose tipo "espressioni polimorfiche"...

    Riguardo il secondo punto, in programmazione OO non devo preoccuparmi del codice dell'oggetto ma solo del suo funzionamento. Se l'oggetto funziona, estenderne il funzionamento (con sottoclassi o aggiungendo un altro componente che dialoghi con l'oggetto) non è affato complicato. Mi basta sapere le sue interfacce e poco altro.

    Per il terzo punto...vedi sopra. L'unica cosa che altri componenti del team in OOP devono sapere, e quindi va concordato prima, sono le interfacce. Sapendo le interfacce, agganciare un mio pezzo con uno tuo è non dico banale ma decisamente più semplice rispetto a un approcio procedurale.

  2. #42
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Originariamente inviato da Dascos
    Scusa?
    E come fai il polimorfismo in procedurale dove NON hai l'ereditarietà?
    Per inciso, è ovvio che mi riferivo al polimorfismo della OOP, non saltare fuori con cose tipo "espressioni polimorfiche"...
    faccio la stessa cosa che fa "il polimorfismo" usando il codice procedurale....

    Originariamente inviato da Dascos
    Riguardo il secondo punto, in programmazione OO non devo preoccuparmi del codice dell'oggetto ma solo del suo funzionamento. Se l'oggetto funziona, estenderne il funzionamento (con sottoclassi o aggiungendo un altro componente che dialoghi con l'oggetto) non è affato complicato. Mi basta sapere le sue interfacce e poco altro.
    lo puoi fare anche con delle semplici funzioni anche se in oop è più figo
    Originariamente inviato da Dascos
    Per il terzo punto...vedi sopra. L'unica cosa che altri componenti del team in OOP devono sapere, e quindi va concordato prima, sono le interfacce. Sapendo le interfacce, agganciare un mio pezzo con uno tuo è non dico banale ma decisamente più semplice rispetto a un approcio procedurale.
    sempre opinabile è. niente di concreto
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #43
    Muoio...in pratica stai dicendo che simuli il comportamento tipico OO con delle funzioni, cioè stai barando
    (a parte che ti vorrei proprio vedere a fare un'estensione a qualcosa di esistente senza toccare i metodi originali, che poi è lo scopo di ereditarietà, polimorfismo eccetera)

    Tra l'altro voglio proprio sapere come fai a opinare (dubitare/negare) che, in OOP, conoscendo interfacce, metodi pubblici e messaggi, sia più facile il lavoro in team...

  4. #44
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Originariamente inviato da Dascos
    Muoio...in pratica stai dicendo che simuli il comportamento tipico OO con delle funzioni, cioè stai barando
    (a parte che ti vorrei proprio vedere a fare un'estensione a qualcosa di esistente senza toccare i metodi originali, che poi è lo scopo di ereditarietà, polimorfismo eccetera)
    ma no che poi dobbiamo fare la ghirlanda ctrl+c + ctrl+v

    Originariamente inviato da Dascos

    Tra l'altro voglio proprio sapere come fai a opinare (dubitare/negare) che, in OOP, conoscendo interfacce, metodi pubblici e messaggi, sia più facile il lavoro in team...
    esperienza
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #45
    Si vede che o gli oggetti erano scritti male o non avevi/hai - avevate/avete -avevano/hanno compreso bene i concetti OO.
    Io lavoro e ho lavorato sempre in team e non abbiamo mai avuto prolemi di questo tipo. Integrare, espandere, "agganciare" o specializzare oggetti non è mai stato e non è mai un problema. Basta seguire poche regole. Ovvio che se si parte scrivendo codice senza un'analisi del dominio approfondita e senza una conoscenza condivisa poi ci si trova nelle canne

    Quelal della ghirlanda non l'ho capita bene...per fare cosa dovresti usare ctrl+c ctrl+v?

  6. #46
    Originariamente inviato da Dascos
    Scusa?
    E come fai il polimorfismo in procedurale dove NON hai l'ereditarietà?
    Il polimorfismo non e' solo ereditarieta'.

    Per ottenere il polimorfismo e' sufficiente
    Codice PHP:
    function foo() {
        
    $args func_get_args();

    tada! La funzione si comporta in modi diversi a seconda di come viene chiamata.

    Chiaramente il method overriding al di fuori dell'ambito OO non esiste, ma non e' che l'ereditarieta' sia un vantaggio della OOP, e' una caratteristica. Non e' un vantaggio non nel senso che non e' una cosa utile (lo e'), ma nel senso che fuori dal paradigma OO non si applica proprio il concetto, quindi e' inutile fare un paragone su questo punto. Si ottengono gli stessi risultati facendo cose diverse.

    Il method overloading invece in PHP non e' possibile come in altri linguaggi per la mancanza di strong typing, si puo' ottenere coi metodi magici ma e' sostanzialmente un trucchetto per chiamare metodi a runtime.

  7. #47
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Ragazzi, seguo con attenzione la discussione e cerco di seguirvi in tutti i discorsi.
    Io sinceramente non ho MAI provato a programmare ad OO, quindi tante cose come polimorfismo e altre flessibilità non le riesco proprio ad immaginare, non avendole mai applicate.
    Per capirne l'utilizzo vorrei appunto del codice, magari anche con un esempio semplice dove si evince bene il vantaggio OO.
    Io ad esempio feci con un amico una community circa 6 anni fà in tempi scolastici, premetto che ero alle prime armi col php, sql sapevo poco o nulla e graficamente non vi dico proprio! Arrangiai un qualcosa facendo comunque un form di iscrizione, forum personale (nulla di scopiazzato), blog, caricamento foto in album etc.
    Da allora (2005) non l'ho piu aggiornato perchè ho avuti altri interessi sul web e anche perchè sarebbe totalmente da rifare e mettermi a riaprire delle pagine php scritte senza manco 1 funzione e tt procedurale fatto malissimo sarebbe uno stress enorme!! (senza commenti senza riferimenti).
    Certo funziona molto bene non ho mai avuto problemi o bug però cmq fu fatto senza ipotesi di aggiornamento futuro e qui capisco il primo vantaggio di utilizzare le funzioni, di fare del codice ordinato e magari utilizzare librerie personali!

    Caro Dascos in un sito del genere sapresti fammi qualche esempio in cui utilizzeresti una classe per gestire del codice e semplificare il tutto (puoi fare anche piu esempi, basta che capisco il tt xD)

    Ah il sito in questione è www.planetmeet.it
    lo cito solo per mostrarlo a chi può farmi un esempio, ma non è per nulla mia intenzioni modificarlo o metterci le mani. (Cod. a procedure e grafica anni 80' tabellare senza un goccio di css)

  8. #48
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Ci siete ragazzuoli?

  9. #49
    Beh per esempio il topic potrebbe essere una classe che ha come proprietà il suo id, lid del relativo forum/sottoforum, l'id dell'autore, il titolo, la data di insrimento e "enne" risposte, anch'esse classi con alcune caratteristiche.
    Come metodi pubblici il topic potrebbe avere ricerca_da_id, ricerca_da_forum, ricerca_da_autore, ricerca_da_titolo e visualizza e alcuni metodi privati interni come ad esempio ricerca_post, che recupera le "enne" risposte/post mandando il messaggio ricerca_da_topic alla classe "post".

    Ti prego non chiedermi del codice

  10. #50
    Per esperienza personale posso dire che e' assolutamente impossibile, per chi viene dalla programmazione "classica", comprendere i pregi della OOP solo da discorsi teorici. Almeno, io finche' non mi sono messo ad usare tecniche OO in progetti veri, non ne ho mai afferrato bene l'utilita'.

    L'unico consiglio che mi sento di dare, e' provare a studiare un framework MVC (tipo codeigniter per iniziare per via dell'ottima documentazione, ma per la OOP pura MOLTO meglio kohana). Il pattern MVC e il mapping url->classi/metodi si adattano bene al ciclo di richieste di una web application.

    Ripeto, IMHO l'unica e' "sporcarsi le mani" senno' per te la OOP rimarra' sempre un concetto fumoso.

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.