<

Pozycjonowanie stron www i SEO / SEM

To właściwy anchortext)!

Czas spędzony internetową jak najbardziej popularnych słów kluczowych związanych z tematyką naszej witryny w wynikach!

Meta tag zawierający słowa kluczowe. Jest to bardzo konkurencyjne ale klientowi zależy na absolutnej czołówce wyników wyświetleniu strony. Mam jeszcze bardziej interesujące słowa kluczowe:

Object Pascal

Object Pascalobiektowy język programowania, obiektowe rozszerzenie języka Pascal. Object Pascal stał się rozwinięty przez firmę Apple Computer przy współpracy Larry'ego Teslera, głównego architekta, oraz Niklausa Wirtha, wynalazcy Pascala. Object Pascal wywodzi się z wcześniejszej, obiektowo zorientowanej wersji Pascala nazywanej Clascal dostępnej na komputery Lisa. Zróżnicowane implementacje języka Object Pascal są użyte w środowiskach programistycznych Borland Delphi, CodeGear Delphi, Kylix oraz w środowisku programistycznym Lazarus (kompilator Free Pascaldarmowa implementacja).

Object Pascal charakteryzuje się z reguły prostą składnią oraz bardzo wysoką efektywnością tworzenia oprogramowania, na co wpływ ma zwłaszcza bardzo szybki kompilator (w porównaniu do innych języków jest kilkakrotnie szybszy). W implementacji obiektowej zachowano przeważajaca ilość elementów programowania strukturalnego, przez co osiągnięto narzędzie łączące oba paradygmaty przy zachowaniu zgodności na poziomie kodu (możliwość kompilacji starszego kodu nowymi kompilatorami).

Przeważajaca ilość firm zaczyna wycofywać się z nazewnictwa „Object Pascal” dla swoich kompilatorów, albowiem ich implementacje Object Pascala coraz bardziej odbiegają od opracowanych dawno standardów języka. Aktualnie nazwa „Object Pascal” nie istnieje nawet w oficjalnym spisie TIOBE[1]. Również firma Borland z początku używając tej nazwy dla języka programowania istniejącego w pierwszych wersjach środowiska programistycznego Delphi zrezygnowała z niej, by zacząć używać dla swojej implementacji obiektowego Pascala nazwy „Delphi Programming Language”. Aktualnie Delphi jest to rozszerzony Object Pascal, wzbogacony o znaczną ilość różnorakich bibliotek, w tym zbiór komponentów wizualnych VCL (dzięki którym język Delphi zyskał dużą popularność) oraz VCL.NET, które dopuszczają szybkie oraz proste wykonywanie aplikacji dla Win32 oraz dla platformy .NET.

Spis treści

Podstawowe elementy języka

Struktura programu

program nazwa_programu (parametry); //nagłówek
{część definiująca}
begin
  {część operacyjna}
end.

Tworzone programy pracują zasadniczo w dwóch wariantach:

  • tekstowy – przeznaczony dla trybu tekstowego Windows, obsługiwane przez bibliotekę modułów RTL (Runtime Library),
  • graficzny – przeznaczony dla środowiska graficznego Windows, obsługiwany przez bibliotekę VCL (Visual Component Library).

Komentarze

Komentarz stanowi swobodny tekst w kodzie programu. Ma on znaczenie zaledwie dla czytelności kodu źródłowego, albowiem jest ignorowany przez kompilator. W języku Object Pascal są 3 rodzaje komentarzy:

  • nawiasy klamrowe { .. }, występujące w Turbo Pascalu,
  • komentarze typu (* .. *) (nawias-gwiazdka), także występujące w Turbo Pascalu,
  • komentarze jednowierszowe znane z języka C++, występujące w postaci // (ang. double slash).

Składnia

Kompilator przetwarzając wyrażenie na program analizuje wyrażenie od lewej do prawej strony zachowując kolejność wykonywania działań:

  • operatory jednoargumentowe (+, -, @, ^, not)
  • operatory multiplikatywne (*, /, div, mod, and, shl, shr),
  • operatory addytywne ( +, -, or, xor),
  • relacje (=, <>, <, >, <=, >=, in)

Po napotkaniu nawiasu otwierającego, kompilator przetwarza wyrażenie w nawiasie, a jego wartosć jest argumentem dla wyrażenia, które zawiera wy rażenie w nawiasie.

Kompilator optymalizując działania oblicza podczas kompilacji wszystkie wartości, których argumentami są stałe (tzw. wyrażenia stałe). Kompilator optymalizując kod nie zapewnia kolejności obliczania argumentów działania, a przy obliczaniu wyrażeń logicznych może pominąć dalsze obliczanie, kiedy znany jest wynik na podstawie częściowych obliczeń[2].

Procedury oraz funkcje

Procedury

Procedura to podprogram nie zwracający żadnej wartości. Szkielet deklaracji procedury w języku Object Pascal jest taki sam jak w standardowym języku Pascal:

procedure NazwaProcedury(ListaParametrówFormalnych); Dyrektywy;
begin
 
end;

Pierwszy wiersz (z nazwą procedury oraz opcjonalnymi: listą parametrów formalnych oraz dyrektywami) nosi nazwę nagłówka procedury.

Funkcje

Funkcja to podprogram zwracający wartość. Szkielet deklaracji funkcji w języku Object Pascal jest taki sam, jak w standardowym języku Pascal:

function NazwaFunkcji(ListaParametrówFormalnych): TypZwracanejWartości; Dyrektywy;
begin
 
end;

Pierwszy wiersz (z nazwą funkcji, typem zwracanej wartości oraz opcjonalnymi: listą parametrów formalnych oraz dyrektywami) nosi nazwę nagłówka funkcji.

Zmienne

W języku Pascal (również w Object Pascal) deklaracje zmiennych są zawarte przed blokiem kodu danego podprogramu albo programu głównego (w przeciwieństwie do C/C++ oraz Javy). Np. fragment kodu wyglądający w C++ następująco:

void example(void)
{
  int x = 1;
  x++;
  float y = 1.5;
  y+=7;
  int z;
}

w języku Object Pascal powinien wyglądać następująco:

procedure Example;
var
  X, Z: Integer;
  Y: Real;
begin
  X := 1;
  Inc(X);
  Y := 1.5;
  Y := Y + 7;
end;

Istnieje możliwość nadawania wartości zmiennym podczas ich deklaracji (inicjalizacja), np.:

var
  I: Integer = 13;
  S: string = 'Ciekawy artykuł w www.pozycjonowanie-bydgoszcz.tk';
  D: Double = 3.14159;
  P: Pointer = nil;

Jest to dopuszczalne tylko dla zmiennych globalnych oraz statycznych.

Nie jest natomiast konieczne nadawanie zmiennym globalnym wartości początkowej 0 (0, 0.0, nil w przypadku wskaźników albo łańcuch pusty w przypadku zmiennych typu string), albowiem kompilator dokonuje inicjacji wszystkich zmiennych globalnych poprzez wyzerowanie zajmowanej przez nie pamięci.

Typy zmiennych

Każda zmienna oraz stała musi być określonego typu zmiennych, tj. przyjmuje wartości z określonego, dopuszczonego zbioru wartości. Potrafią one być zarówno proste, jak oraz złożone. Dostęp do wartości pewnej danej bywa pośredni albo bezpośredni. Rozróżnia się trzy zasadnicze rodzaje typów wartości:

  • proste (dostęp bezpośredni),
  • strukturalne (dane złożone, dostęp bezpośredni),
  • referencyjne (dostęp pośredni).

Instrukcje

Różnice obiektowego Pascala w porównaniu z C++

(+)

  • (+) składnia łatwiejsza do zrozumienia dla początkującego programisty (słowa–polecenia zamiast klamer oraz nawiasów, co jednak pociąga za sobą większą objętość kodu źródłowego)
  • (+) mechanizm modułów wraz z kontrolą widoczności nazw oraz sekcjami inicjalizacyjnymi/finalizacyjnymi
  • (+) błyskawiczne wykonywanie bibliotek DLL
  • (+) opcjonalna kontrola zakresów oraz przepełnień
  • (+) wbudowane zbiory oraz rozliczne operacje na nich, co wydatnie przyspiesza oraz upraszcza np. porównania
  • (+) tablice dynamiczne
  • (+) wbudowane typ zmiennych plikowych – także uproszczone wykonywanie plików składających się tylko z jednego typu danych
  • (+) uproszczony mechanizm mapowania składowych rekordu – intuicyjna instrukcja wyboru Case zamiast unii
  • (+) dyrektywa mapująca (absolute)
  • (+) mechanizm zgodności typów
  • (+) możliwość tworzenia lokalnych procedur w procedurach
  • (+) obiekty posiadają właściwości (properties) – także tablicowe oraz domyślne, zwiększa to wydatnie czytelność kodu
  • (+) istnienie metaklas – ich obiekty zawierają referencje do klas
  • (+) wirtualne konstruktory
  • (+) oddzielenie części deklaracji od instrukcji zwiększa czytelność kodu oraz zmusza do porządku
  • (+) obsługa metod anonimowych
  • (+) mechanizm przedefiniowania operatorów (jedynie dla rekordów)

(-)

  • (-) niedobór zmiennych referencyjnych – przekazanie parametru tylko przez referencje
  • (-) możliwość kompilacji kodu zawierającego instancje klas abstrakcyjnych

(?)

  • (+-) odmienne symbole operatorów, niedobór uproszczonych operatorów przypisań, jak np. += czy <<= (z wyjątkiem FPC)
  • (+-) uboższa, ale łatwiejsza implementacja obiektów (brak dziedziczenia od dwóch przodków), ale za to są wirtualne konstruktory oraz nie trzeba ich pokrywać w każdej klasie
  • (+) wszystkie klasy maja wspólnego przodka (TObject) – upraszcza to np. implementację polimorficznych klas kontenerów
  • (+-) mniejsza kontrola wykonywania pętli for – zmienna iteracyjna w pętli for zmienia się o 1 automatycznie, a w wielu implementacjach jest „chroniona” przed zmianami, dopuszcza to wykonywanie wydajniejszego kodu wykonalnego (od wersji 17 Delphi pętla for dopuszcza enumerację po każdym elemencie zbioru w postaci: for zmienna in zbiór do)
  • (+-) funkcje nie zwracające wartości nazwane są procedurami

Przypisy

Bibliografia

  • A. Marciniak, Borland Pascal 7.0, Nakom 1995
  • A. Grażyński, Z. Zarzycki, Delphi 7, Helion 2003
  • J. Zahorski, Turbo Pascal 7.0
Wikibooks-logo.svg
Sprawdź publikację na Wikibooks:
Object Pascal
Przepisy kulinarne | sentencje | www.swiat-pecetow.info | Katalog Stron | Kody pocztowe