Home > programare > Parametri opționali

Parametri opționali

July 18th, 2008

Să zicem că avem o funcție, care trebuie apelată la un event, orice event. Funcția va fi definită la modul:

1
2
3
protected function doSomething(evt: Event):void {
// instrucțiuni
}

Dar ce facem dacă vrem să apelăm funcția și în alte circumstanțe? Poate la un moment dat e nevoie să o apelăm și altfel decât cu trigger un eveniment, ci mai degrabă la modul

1
doSomething();

Evident, vom primi o eroare gen:

1
1136: Incorrect number of arguments.  Expected 1.

Not good. O rezolvare pe care am folosit-o în grabă odată a fost pe principiul “firai a dracu, vrei parametru, na parametru”:

1
2
var nullEvent:Event = null;
doSomething(nullEvent);

Bye-bye eroare, dar ne-am procopsit cu o variabilă în plus. Există totuși și o modalitate de a face treaba cum trebuie.

Un parametru inițializat, devine un parametru opțional. Dacă rescriem, deci, funcția noastră la modul:

1
2
3
protected function doSomething(evt: Event = null):void {
// instrucțiuni
}

putem apela foarte liniștiți și cu, și fără parametru. Dacă funcția este apelată fără parametru, atunci valoare lui, evident, va fi cea de inițializare. Adică null în cazul de față.

(valabil doar in Actionscript 3)

evilpenguin programare ,

  1. September 4th, 2008 at 21:46 | #1

    Salut. Tocmai ti-am gasit blog-ul. Imi place. Revin.

    De ce imi place? Fiindca scrii despre AS3 si cred ca m-a luat nostalgia :D

  2. September 4th, 2008 at 22:07 | #2

    Nostalgia? Hai că AS3 e cât de cât nou apărut… Mă bucur că-ţi place. Promit să încerc să scriu mai des. Cheers!

  1. No trackbacks yet.