Prototyp (oprogramowanie)

deklaracja funkcji bez określania ciała

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
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

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

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