Prototyp (oprogramowanie)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Ujednoznacznienie Ten artykuł dotyczy oprogramowania. Zobacz też: inne znaczenia tego słowa.

Prototyp — struktura oprogramowania, która informuje kompilator lub interpreter języka programowania o możliwościach podprogramu (funkcja, procedura, metoda) lub klasy. Prototyp jest więc deklaracją oddzieloną od definicji w postaci samodzielnego nagłówka podprogramu.

Prototyp funkcji[edytuj | edytuj kod]

Information icon.svg Osobny artykuł: Deklaracja (informatyka).

Tradycyjnie prototyp oznacza funkcję, która nie posiada ciała, a jedynie informuje kompilator o postaci parametrów oraz zwracanej wartości. Pełna treść funkcji znajduje się w dalszej części kodu, podczas gdy deklaracje funkcji umieszcza się zazwyczaj w plikach nagłówkowych, co ma na celu wyodrębnienie interfejsu programu.

int swap_case(char* sentence);

Prototyp jako technika[edytuj | edytuj kod]

Wewnątrz niektórych języków obiektowych prototyp oznacza także obiekt, który niejawnie udostępnia swoje właściwości innym obiektom. Przykładowo w języku JavaScript prototyp jest tworzony oraz udostępniany każdej powstającej instancji wybranej klasy. Gdy użytkownik pragnie odczytać właściwość, która nie jest obecna w danej instancji, jest ona wyszukiwana w jej prototypie[1]. Bazowa klasa Object stanowi prototyp wszystkich pozostałych obiektów JavaScript. Mechanizm ten może zastąpić tradycyjny model dziedziczenia klas. Przykład:

site = { purpose : 'information' , storage : 'web' }
 
Wikipedia = function()
{
  this.complexity = 'vast'
  this.usefulness = 'notable'
}
 
Wikipedia.prototype = site
Wikipedia.prototype.software = 'MediaWiki'
 
alert((new Wikipedia).storage) // wyświetli: web
alert((new Wikipedia).software) // wyświetli: MediaWiki

Przypisy

  1. comp.lang.javascript FAQ: Javascript Closures. The Resolution of Property Names on Objects. Reading of Values (ang.). [dostęp 11 września 2007].