DUzun's Web
Programare, proiecte personale, divertisment

DUzun it's ME
 
  
News
Avem nevoie de clase în JavaScript?
 

Avem nevoie de clase în JavaScript ?

În lumea POO (Programării Orientate pe Obiect) există două tipuri de limbaje:

  1. Bazate pe clase,
  2. Bazate pe prototipuri (de obiecte).

JS (JavaScript) este unul dintre cele mai vestite și cele mai folosite limbaje POO bazate pe prototipuri din lume (jumate din site-urile de pe web folosesc acest limbaj). Candva era un hobby, iar acum e un instrument indispensabil al programatorilor web. A devenit popular foarte repede tocmai pentru ușurința și puterea pe care o aduce unei aplicații web. Mulți acuză JS că îi lipsesc clasele. Aceasta de regulă o zic cei care n-au „gustat” din frumusetea și puterea acestui limbaj. Sau poate s-au deprins numai cu limbajele statice, bazate pe clase.

Pentru ce ar trebui unui limbaj dinamic, fără tipuri de date stricte ale variabilelor, să aibă clase. Clasele sunt tipuri de date, dar un limbaj bazat pe prototipuri are tot ce-i trebuie și fără clase; de altfel nu devenea atât de răspândit JS!

JavaScript 2 vrea să facă o revoluție în vechiul nostru JS 1. Adaugă clase și multe alte noțiuni străine unui limbaj bazat pe prototipuri. Se observă o tendință spre Java. 

Se pune întrebarea: Este nevoie de clase în JS?

Părerea mea este că nu avem nevoie de clase în JS, el se descurcă foarte bine și cu ce are! Clasele vor aduce numai dureri de cap. În loc să se introducă clasele în limbajul JS, mai bine s-ar scrie cărți cum de implementat funcționalitatea unui limbaj bazat pe clase în JS și despre specificul fiecărui tip de limbaje, ca să-i împăcăp pe toți, atât pe începători, cât și pe „veterani”.

Apreciați valoarea membrilor privați prin funcții închidere:

function Point(x, y) { // funcția constructor
  return {
    getX:  function () { return x },
    getY:  function () { return y },
    getXY: function () { return [x, y] }
  }
}
  for(var i = 101, a = []; i > 0; i--  )
     a[i] = new Point(i, i); 
// crearea obiectelor

  for(var i in a) with(document) {
     write(a[i].getXY());
     write('<BR />');
  }

Încercați așa ceva, de ex., în PHP !

Dar sunt și lucruri bune în JavaScript 2... Aici m-am referit doar la introducerea claselor.

Mai multe la acest subiect puteți citi și în engleză.

AutorDumitru Uzun

  </> 25.02.2010

Aici acumulez programe şi algoritmi interesanti alcătuiţi de mine (cu mici excepţii) pe parcursul studierii unor limbaje de programare.

Cea mai mare parte din ele sunt realizate în Pascal. 

Nu am scopul creării unui curs specializat sau a descrierii detaliate a anumitor limbaje, ci doar prezint informaţii utile, plus ceva exemple interesante...

 

Răsfoitorul de fișiere (File Browser):

Codul sursă al programelor este organizat în mape şi fişiere.

Paginile care conțin cod sursă de programe de regulă au un răsfoitor de fișiere în partea stangă a paginii reprezentat de un bloc cu titlul „File Browser”.

Pentru a vizualiza un program sau conţinutul unei mape, faceţi click pe numele fişierului / mapei. Dacă fişierul nu este textual, el se va descărca automat, iar dacă este textual, conținutul lui se va afișa într-un bloc pe centrul paginii.

Pentru a descărca un fişier, faceţi click pe dimensiunea (size) lui.

arr_d Limba / Language


 


Flag Counter

arr_r Login