Najlepsze pytania
Chronologia
Czat
Perspektywa
Przemianowanie (programowanie)
Z Wikipedii, wolnej encyklopedii
Remove ads
Przemianowanie[1] w programowaniu to konstrukcja programistyczna dostępna w określonym języku programowania polegająca na przypisaniu pewnemu, wcześniej zdefiniowanemu obiektowi[a] występującemu w kodzie źródłowym, nowej, dodatkowej nazwy (np. identyfikatora). Stosowanie takiego zabiegu programistycznego ma w szczególności na celu skrócenie odwołań do pól zawartych ze złożonych strukturach danych, takich jak struktury, rekordy, unie, klasy itd., w przypadku zbyt rozbudowanych selekcji. Pozwala na zwiększenie przejrzystości kodu źródłowego i ułatwia pisanie kodu[2].
Przykładem przemianowania jest konstrukcja dostępna w języku Ada[1]:
identyfikator:typ renames obiekt_przemianowywany
Jeżeli zadeklarowany zostanie rekord:
type data is record
dzien:INTEGER;
miesiac:INTEGER;
rok:INTEGER;
end record;
...
declare
zapis:data;
...
można zastosować przemianowanie umożliwiające odpowiednie skrócenie zapisu selekcji (np. zapis.dzien
) w odwołaniach do pól rekordu:
declare
dz:INTEGER renames zapis.dzien;
begin
...
dz:=5;
...
end;
Przemianowanie dostępne jest w takich językach jak: Ada[1][2], Cobol[2][3], Euclid[2].
W Cobolu konstrukcja związana z przemianowywaniem jest rozszerzona w stosunku np. do Ady, o możliwość grupowania sąsiadujących pól[3]. Ma postać[b]:
66 nazwa_1 RENAMES nazwa_2 [THRU nazwa_3]
Przemianowanie jest więc deklaracją nowej, dodatkowej nazwy, a nie zastąpieniem już istniejącej. Dotychczasowa nazwa danego obiektu jest nadal dostępna. Zawarte w literaturze przedmiotu, m.in. w pracy o Adzie[1] nazewnictwo w odniesieniu do tego pojęcia, wynikające z tłumaczenia angielskiego słowa renames
[c], jest więc nieco mylące i nie odpowiada wprost polskiemu znaczeniu użytego słowa przemianowanie w odniesieniu do znaczenia konstrukcji programistycznej polegającej na dodaniu dodatkowej nazwy.
Efekt identyczny z przemianowaniem można uzyskać stosując nakładanie zmiennych identycznych typów. Przykładowo (Turbo Pascal)[4]:
var a : byte;
b : byte absolute a;
Remove ads
Uwagi
- obiektu kodu nie należy mylić z instancją klasy w programowaniu obiektowym, jako obiekty kodu rozumieć tu należy w szczególności nazwane zmienne, pola struktur, podprogramy
- słowa, które najczęściej jest używane w składniach języków do określenia tej konstrukcji
Remove ads
Przypisy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads