Algorytmy teoria


Destruktor - zwalnia zasoby zajmowane przez obiekt (np. nawiązane wcześniej połączenie z bazą danych) oraz zwalnia pamięć zarezerwowaną na poczet obiektu. Destruktor musi nosić nazwę Destroy, musi posiadać klauzulę override, nie może posiadać parametrów;
Dziedziczenie - programowaniu obiektowym operacja polegająca na stworzeniu nowej klasy na bazie klasy już istniejącej.
Dziedziczenie wielokrotne
- nazywane także dziedziczeniem wielobazowym to operacja polegająca na dziedziczeniu po więcej niż jednej klasie bazowej. Dziedziczenie wielokrotne stosowane jest na przykład w języku C++. W innych językach programowania (np. w Javie) dopuszczalne jest wyłącznie dziedziczenie jednokrotne, zaś do uzyskania efektu, który w C++ osiąga się poprzez dziedziczenie wielokrotne używa się interfejsów.
Dziedziczenie jednokrotne - polega na dziedziczeniu z wykorzystaniem tylko jednej klasy bazowej Tzwierze=class [] end; [] Tssak=class(Tzwierze);[]end;[] TCzlowiek=class(Tssak); []end;
Free - Metoda Free weryfikuje, czy obiekt nie został wcześniej zwolniony; jeżeli nie - wywołuje destruktor. Możesz więc w kodzie wielokrotnie używać metody Free, nie spowoduje to pojawienia się błędu (w przeciwieństwie do wielokrotnego wywołania metody Destroy)
Initialization-W sekcji initialization umieszcza się kod, który musi być wykonany w momencie ładowania modułu do pamięci.kod znajdujący się w zasiegu specyfikatora initiazation wykorzystywany jest zwykle do przydzielania pamieci, ustawianiu domyślnych wartości zmiennym itp.
Interface - otwiera część publiczną modułu, w której należy umieszczać deklaracje procedur, funkcji, zmiennych i stałych, które mają być dostępne ?na zewnątrz?, dla innych modułów
Implementation - Sekcja Implementation stanowi część prywatną modułu. Kod w niej zawarty nie jest dostępny dla innych modułów
Overload - Klauzulą overload możemy opatrzyć procedury i funkcje, a także metody. Dzięki temu kompilator nie będzie protestował, gdy zadeklarujemy kilka funkcji lub procedur o tej samej nazwie! Warunkiem jest jednak to, że przeładowywane metody muszą różnić się listą parametrów.
Override - słowo kluczowe języka Delphi. Dyrektywa służącą do przedefiniowywania (nadpisywania) metod. Przedefiniowywane mogą być tylko metody klas, oznaczone jako wirtualne i dynamiczne (virtual, dynamic).
Plik amorficzny - pliki (BMP, CHR), które nie mają jednolitej budowy, a odczytywać z nich możemy poszczególne bajty lub inną określoną porcję danych. Pliki amorficzne to inaczej pliki binarne. Typ danych musi być File. Zapis i odczyt danych odbywa się jednak za pomocą procedur: BlockWrite i BlockRead
Plik typowany(rekordowy) - Jest to specyficzny typ danych idealnie nadaje się do przechowywania danych. Można zapisywać do pliku całe rekordy danych. Wraz z plikami typowanymi możemy używać dodatkowych procedur. Dostęp do plików typowanych różni się w stosunku do zwykłych plików tekstowych - dostęp do pliku może nastąpić w każdym momencie. Funkcja FileSize wyznacza rozmiar pliku (liczbę rekordów). Funkcja FilePos wyznacza numer bieżącego rekordu. Funkcja Seek wyszukuje określony rekord, np. Seek(DataBase, FileSize (DataBase))
Pointer - zmienna typu Wskaźnik, określająca adres w pamięci. Pointer jest wykorzystywany często do prac z dynamicznie alokowaną pamięcią. Istnieje też specjalna wartość Pointera, nil, wskazująca pamięć nieokreśloną (rzeczywiście przybiera wartość 0). 
Polimorfizm(wielopostaciowość)-to mechanizmy pozwalające programiście używać wartości, zmiennych i podprogramów na kilka różnych sposobów inaczej to możliwość wyabstrahowania wyrażeń od konkretnych typów. Odnosi się do metody wirtualnej, której nazwa jest zdeklarowana w hierarchii klas, polimorfizm polega na na jej wywołaniu w sposób właściwy dla danego obiektu - zgodnie z deklaracją tej metody w klasie tego obiektu.
Programowanie modułowe
Rozbijanie projektu na pojedyncze komponenty(moduły),które następnie mogą być tworzone i testowane niezależnie od siebie.Takie podejście jest warunkiem efektywnego tworzenia dużych programów i projektów oraz
 zarządzania nimi.
Programowanie nienumeryczne
Programowanie mające wiązek w większym stopniu z obiektami takimi jak słowa, elementy szachownicy i osoby, niż z liczbami.
Programowanie obiektowe  - Programowanie w którym wykorzystuje się technologie obiektowe.Jest to krok naprzód w stosunku do programowania modułowego.W wyniku stosowania się do pewnych formalnych reguł poszczególne elementy programów komputerowych nadają się do ponownego użycia.Można je również stosować w wielu różnych aplikacjach.Podstawowe założenia programowania obiektowego to: 1)hermetyzacja danych 2)dziedziczenie 3)polimorfizm (wielopostaciowość).
Programowanie strukturalne - Techniki które narzucają logiczną strukturę programu. Duże procedury zostają podzielone na mniejsze o większym stopniu uniwersalności. Podstawowym zaleceniem jest unikanie stosowania polecenia GOTO. Pewne instrukcje, m.in. bloki wykonawcze w pętli,poprzedza się wcięciem,co ułatwia przeglądanie kodu programu.
Result - jest jakby ukrytą zmienną — po przypisaniu jej wartości zostanie ona zwrócona przez funkcji (jest ona tego samego typu, co wynik funkcji).
function Funkcja: Integer ||| function Funkcja: Integer;
begin ||| Begin [][] Funkcja:=10; ||| Result:=10; [][] end; |||end;

Specyfikator private - sluzy do okreslania czesci prywatnej. Ponadto wewnątrz modułu składowe są widoczne tak samo jak publiczne, a poza modułem składowe są niedostępne;

Specyfikator Protected - Składowe typu protected są dostępne wewnątrz metod danej klasy oraz metod klas potomnych
TQuene? sluzy do kolejkowania. jest zgodna z algorytmem FIFO
Tstack ? Jest zgodna z algorytmem FILO
Virtual - przedefiniowana może być tylko metoda w klasie dziedziczącej [Klauzulą virtual można opatrzeć metodę klasy. Staje się wówczas metodą wirtualną. Taką metodę można wówczas przedefiniować w klasie - potomku. Metodę wirtualną deklaruje się stawiając za nagłówkiem metody, słowo kluczowe virtual]
Klasa jest magazynem obiektów - np. mozesz zrobic klase ktora bedzie 'magazynem' obiektow, do ktorego bedziesz sie odwolywal, magazyn bedzie mial za zdanie sprawdzic czy instancja obiektu juz jest stworzona, jesli nie to twozy i oddaje referencje, a jesli juz jest to tylko oddaje referencje.
Wiązanie późne jest przydatne w przypadku otwartej przestrzeni, kiedy komponenty, które mogą współdziałać są znane dopiero po uruchomieniu programu. Zalety: pisząc kod można wykorzystywać metody, których jeszcze nie napisano; nie trzeba powielać takiego samego kodu w metodach róznych klas; nie grozi „uzupełnienie” już gotowego kodu o nowe błedy.
Wiązanie wczesne jest stosowane w przypadku zamkniętej przestrzeni, w której wszystkie potencjalne interakcje pomiędzy komponentami oprogramowania mogą być zdefiniowane w trakcie tworzenia tych komponentów przez kompilator.
Różnice między typem danych (np. rekordowym, tablicowym) a klasą Tablica składa się z ustalonej liczby elementów tego samego typu zwanego typem składowym. Typ danych nie może zawierać procedur i funkcji, natomiast klasa ma wpływ na przechowywane dzięki metodom i właściwościom (property)
Zalety podziału programu na moduły / procedury i funkcje - Zastosowanie modułów pozwala na podział kodu na osobne pliki. Zalety: programista ma możliwość umieszczenia części kodu (np. paru procedur) w osobnych modułach. Dzięki temu możemy w jednym pliku, np. interfaces.pas, zawrzeć jedynie procedury związane z tworzeniem interfejsu użytkownika, a z kolei w pliku db.pas umieścić procedury związane z obsługą bazy danych. Funkcje i procedury to wydzielone bloki kodu wykonujące jakieś określone zadania. Funkcje zawarte w jednym tylko pliku mogą być używane przez wiele programów - dzięki temu programista nie musi pisać każdej danej funkcji od nowa, jeśli została już ona stworzona wcześniej.
Właściwość klasy i na czym polega - Właściwość definuje atrybuty obiektów. Dają możliwość kontroli nad polami obiektów zachowując hermetyczność obiektu.Składnia właściwosci (property) to: property NazwaWłasności[Indeksy]: TypDanych Specyfikatory; gdzie * NazwaWłasności jest identyfikatorem własności, *[Indeksy] jest opcjonalne i pozwala na odwoływanie sie np. do wartości tablicy property Pixels[X, Y: Integer]: TColor read GetPixel write SetPixel;
* specyfikatory - sekwencja słów kluczowych read, write, stored, default (lub nodefault) and implements. Każda właściwosc musi miec przynajmniej jeden ze specyfikatorów: read lub write;
Na czym polega hermetyczność obiektów / specjalizacja klas - Hermetyczność oznacza, że struktury danych i kody programowe są połączone w całościową jednostkę programową, zwaną obiektem. Ogólnie dostępne struktury danych w obiekcie nazywa się własnościami (ang. properties), a ogólnie dostępne kody programowe - metodami. Specjalizacja klas - polega na deklarowaniu nowych własności w obiektach potomnych. (kolejne podklasy posiadają więcej metod niż nadklasa).





Wyszukiwarka

Podobne podstrony:
kozik,projektowanie algorytmów,TEORIA ZŁOŻONOŚCI OBLICZENIOWEJ
Algorytmy teoriapoprawiona
kozik,projektowanie algorytmów,TEORIA GRAFÓW
Algorytmiczna teoria liczb id 5 Nieznany (2)
Teoria (troche), Studia, Semestr II, Algorytmy i struktury danych
ALS - 004-000 - Zajęcia - Listy - teoria, Informatyka - uczelnia, WWSI i WAT, wwsi, SEM II, Algorytm
Teoria algorytmów genetycznych
Układy Napędowe oraz algorytmy sterowania w bioprotezach
teoria bledow 2
sroda teoria organizacji i zarzadzania
5 Algorytmy
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
W10b Teoria Ja tozsamosc
Teoria organizacji i kierowania w adm publ prezentacja czesc o konflikcie i zespolach dw1

więcej podobnych podstron