Przemianowanie (programowanie)
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;
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
- ↑ nawiasy klamrowe grupują część opcjonalną konstrukcji i nie są jej częścią, fraza
THRU
wiąże się ze wspomnianym grupowaniem pól - ↑ słowa, które najczęściej jest używane w składniach języków do określenia tej konstrukcji
Przypisy
- ↑ a b c d A. Nico Habermann, Dewayne E. Perry, Ada dla zaawansowanych, Wydawnictwa Naukowo-Techniczne, Warszawa 1989 r., seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-1058-4
- ↑ a b c d Michael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-1342-7
- ↑ a b Eugeniusz Kurzydrem, Andrzej Macieliński, Urszula Szmidt, Eugeniusz Więcek, COBOL. Język programowania., Państwowe Wydawnictwo Ekonomiczne, Warszawa 1978, wydanie drugie
- ↑ Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów ISBN 83-85060-53-7, ISSN 0867-6011