ActionScript 3.0 suporta “Programarea Orientata pe Obiecte” (Object Oriented Programming OOP).
Hai sa vedem cum se face declararea unei clase in ActionScript 3.0 si cum arata metodele si proprietatile clasei.
package { public class Bomboana { //Constructor public function Bomboana(numeBomboana:String) { nume=numeBomboana; } //Proprietati public var nume:String; public var culoare:String; //Metode public function seteazaCuloarea(culoareBomboana:String):void{ culoare=culoareBomboana; } public function afiseazaBomboana():String{ trace("Bomboana cu numele "+nume+" are culoarea "+culoare); } } }
Sa ne gandim la o clasa ca la o forma de bomboane. Cu o forma de bomboane putem sa facem mai multe bomboane (la fel sau diferite prin culoare, marime, gust,etc). Bomboanele astfel create se numesc obiecte (instante ale clasei).
Folosind clasa de mai sus haideti sa realizam doua bomboane diferite. Una sa fie o bomboana cu gust de capsuni si alta mentolata.
//Definim cele doua bomboane si le dam nume apeland constructorul clasei. var bomboana1:Bomboana = new Bomboana("BomboanaCapsuni"); var bomboana2:Bomboana = new Bomboana("BomboanaMenta"); //Stabilim culoarea bomboanelor apeland metoda seteazaCuloarea(). bomboana1.seteazaCuloarea("rosu"); bomboana2.seteazaCuloarea("verde"); //Afisam cele 2 bomboane apeland metoda afiseazaBomboana(). bomboana1.afiseazaBomboana(); bomboana2.afiseazaBomboana(); //Modificam culoarea primei bomboane modificand direct proprietatea "culoare" si apoi o afisam. bomboana1.culoare="galben"; bomboana1.afiseazaBomboana();
Codul de mai sus va face sa apara in output-ul debug urmatoarele:
Bomboana cu numele BomboanaCapsuni are culoarea rosu Bomboana cu numele BomboanaMenta are culoarea verde Bomboana cu numele BomboanaCapsuni are culoarea galben
Daca declaram proprietatea “culoare” drept private si nu public atunci accesul la ea se putea face doar in interiorul clasei nu si din afara (valabil si pentru metode).
Prin acest articol nu doresc sa prezint toate conceptele programarii orientata pe obiecte ci doar un minim de cunostinte pe larg si cum apar ele in ActionScript 3.0 si faptul ca se aseamana destul de mult cu alte limbaje de programare.