Tworzenie książki (wyłącz)
 Dodaj tę stronę do książki Pokaż książkę (0 stron) Proponowane strony

Typowanie dynamiczne

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, szukaj

Typowanie dynamiczne to nadawanie typów zmiennym w sposób dynamiczny, czyli wynikający z typu bieżącej wartości zmiennej. Jest to cecha niektórych języków programowania.

Przy zastosowaniu typowania dynamicznego, zmienne nie posiadają typów przypisanych statycznie ("na sztywno"). W takiej sytuacji typ zmiennej wynika z wartości jaką dana zmienna przechowuje. Ułatwia to znakomicie operacje na zmiennych, utrudnia natomiast kontrolę integralności programu. W razie wykonania podejrzanej operacji - na przykład kiedy do zmiennej zawierającej łańcuch "ala" przypiszemy liczbę 5 - kompilator o typowaniu statycznym zwróci błąd w kodzie. Program w języku zezwalającym na typowanie dynamiczne może zachować się dwojako:

Ciekawą konsekwencją typowania dynamicznego (w przypadku języków bez bezpiecznego typowania) jest także to, że wartość zmiennej przed wykonaniem operacji jest dopasowywana do danej operacji. Jeśli (podobnie jak w poprzednim przykładzie) do zmiennej zawierającej łańcuch "ala" dodamy liczbę "5", to program najpierw dopasuje wartość "ala" do operacji artymetycznej (wartość 0), następnie do "0" doda "5" i otrzymaną w ten sposób wartość "5", już jako wartość liczbową przypisze z powrotem do tej zmiennej.

Zachowanie to może zilustrować następujący fragment kodu w języku PHP:

<?php
 
$a = "4";        // przypisujemy zmiennej $a wartość łańcuchową "4"
$a = $a+7;       // dodajemy (arytmetycznie) liczbę 7
 
echo $a;         // program wypisuje "11"
                 // oznacza to, że program najpierw sprowadził zmienną $a
                 // do postaci liczbowej (4) i dopiero do niej dodał 7
 
echo "\n";
 
echo strlen($a); // nie zmieniając samej zmiennej (zawiera ona nadal wartość liczbową),
                 // wykonujemy operację charakterystyczną dla łańcucha znakowego
                 // (funkcja strlen() podaje długość takiego łańcucha)
                 // program wypisuje "2"
                 // oznacza to, że program najpierw zamienił wewnętrznie zmienną $a
                 // na łańcuch znakowy "11" i podał jego długość
echo "\n";
 
?>

Do języków stosujących typowanie dynamiczne należą między innymi:

Źródło „http://pl.wikipedia.org/w/index.php?title=Typowanie_dynamiczne&oldid=27816259
Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Dla czytelników
Dla wikipedystów
Narzędzia
Drukuj lub eksportuj

Polecamy: Pozycjonowanie, wózki dziecięce, Kino domowe, Viagra, Kredyty