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

  1. 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
  2. nawiasy klamrowe grupują część opcjonalną konstrukcji i nie są jej częścią, fraza THRU wiąże się ze wspomnianym grupowaniem pól
  3. słowa, które najczęściej jest używane w składniach języków do określenia tej konstrukcji
Remove ads

Przypisy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads