Visualizzazione dei risultati da 1 a 5 su 5

Discussione: prototype

  1. #1

    prototype

    raga ultimamente mi accorgo che l'oggetto "prototype" viene usato molto spesso nellefunzioni, il problema è che non riesco a capire cosa serva, chi me lo spiega in modo meno complicatorispetto ai riferimenti di macromedia riportati di seguito? C'è mi interessa sapere se è utile da usare, osa si guadagna insomma tutto quello che può essere utile.

    grazie

    Function.prototype

    Disponibilità

    Flash Player 6.

    Uso

    myFunction.prototype

    Descrizione

    Proprietà; in una funzione di costruzione, la proprietà prototype si riferisce a un oggetto che è il prototipo della classe costruita. Ogni istanza della classe creata dalla funzione di costruzione eredita tutte le proprietà e i metodi dall'oggetto prototipo.

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Molto sbrigativamente (ti faccio l'esempio dei movieclip).

    I movieclip sono istanze della classe MovieClip, cioè oggetti creati secondo un modello definito dalla Classe.
    Tutti i movieclip hanno dei metodi (stop(), gotoAndPlay() ad esempio), e questi metodi non sono definiti per ogni movieclip, ma una sola volta nel modello, e da questo modello ogni istanza della classe li eredita.
    Il sistema tramite il quale le istanze, cioè i movieclip che tu crei, ereditano questi metodi, cioè la possibilità di usarli, è quello di inserirli in un particolare oggetto, detto prototype, nel quale le istanze li vanno a cercare.

    Quindi, quando vuoi creare un metodo, o una proprietà, che venga ereditata (e quindi usata) da ogni istanza di una classe, la crei in questo oggetto prototype della classe, oggetto che viene creato in automatico quando definisci il modello Classe.

    Esempio: vuoi che tutti i movieclip abbiano la proprietà "pippo" a cui corrisponde il valore 5. Non scrivi per ogni movieclip:

    istanza_movieclip1.pippo = 5;
    istanza_movieclip2.pippo = 5;
    istanza_movieclip3.pippo = 5;

    Bensì:

    MovieClip.prototype.pippo = 5;

    In questo modo tutti i movieclip ereditano questa proprietà.
    Allo stesso modo, se vuoi che tutti i movieclip abbiano il metodo "tracciaValore", che traccia tramite trace il valore di pippo, scriverai:

    codice:
    MovieClip.prototype.tracciaValore = function()
    {
    	trace(this.pippo)
    };
    e su qualunque movieli potrai applicare:

    istanza_movieclip.tracciaValore();

    così come applichi:

    istanza_movieclip.gotoAndPlay();

  3. #3
    quindi se ho capito bene, io tramite prototype posso definire una variabile con un valore, che in automatico (quando creo un clip) eredita subito questa variabile?

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Si, più o meno (poi il discorso è molto più approfondito)..

  5. #5
    ho già fatto delle prove grazie mille.

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.