jpr ściąga teoria

Programowanie to formułowanie ciągu operacji rozwiązującego dany problem w postaci akceptowalnej przez komputer.

Strukturalne - wykorzystanie procedur i dopasowanie do nich sposobu reprezentacji danych

Obiektowe - to dane potrzebne do opisania obiektu i operacje opisujące interakcje użytkownika z obiektem

Algorytm to dokładny , j ednoznacznie sform ułowany sposób postępowania, umożliwiający rozwiązanie określonego zadania w skończonej liczbie kroków .

(zbiór poleceń ze wskazaniem porządku, w jakim mają być realizowane).

Zapis algorytmu:

w postaci opisu słownego, listy kroków, pseudokodu, schematu blokowego

Program to ciąg poleceń (instrukcji) do wykonania dla komputera, to algorytm zapisany w języku programowania. Program może występować w dwóch postaciach: kod źródłowy, kod wynikowy.

Kod źródłowy to zapis programu komputerowego w pewnym języku programowania. Jest to postać programu zrozumiała dla programisty

(bez konieczności jego uruchamiania).

Kod wynikowy to rezultat pracy translatora (np.kompilatora), nadający się do bezpośredniego wykonywania przez procesor.

Kod maszynowy to zapis programu komputerowego

w języku maszynowym. Kod taki składa się z ciągu wartości binarnych (0 i 1), które oznaczają zarówno instrukcje jak i dane. Postać kodu maszynowego zależy od architektury procesora.

Kompilacja to proces przekształcania kodu (tłumaczenia)

źródłowego na kod wynikowy (maszynowy).

Kompilator to translator języka wysokiego poziomu, którego programy wynikowe mogą być wprowadzone do pamięci i wykonane dopiero po zakończeniu tłumaczenia (w odróżnieniu od interpretatora, w którym instrukcje wynikowe są wykonywane na bieżąco). tłumaczy program zapisany w języku wysokiego poziomu na język maszynowy

Procesy kompilacji:

- analiza leksykalna - poprawność jednostek

leksykalnych

- analiza składniowa – poprawność ułożenia

tokenów (słowa kluczowe, operatory, …)

- analiza semantyczna (znaczeniowa) –

zgodność tokenów z regułami danego języka

Typ - jest przypisaniem rzeczy i zjawisk do określonych kategorii.

np. typ wartości całkowitych int pozwala na wykonywanie

obliczeń arytmetycznych

Typ zawiera informacje o:

- rozmiarze zajmowanym w pamięci

- rodzaju przechowywanej informacji

- możliwych do wykonania operacjach

Klasa – każdy program w javie składa się ze zbioru klas (nie można pisać kodu poza definicją klasy), klasy przechowują dane i wykonywane na nich operacje ( klasy są opisami obiektów).

Klasy są „fabrykami” obiektów

-Każda klasa produkuje ściśle określony rodzaj (typ) obiektów

-Każdy obiekt należy do jednej, określonej klasy

-Klasa obejmuje obiekty tego samego rodzaju, utworzone

według tego samego pierwowzoru klasy

-Klasa jest wzorcem budowy obiektów

Obiekt – każdy obiekt jest wystąpieniem (reprezentacją) klasy.

Obiekty są małymi programami (lub fragmentami programów)

-Obiekty współpracują ze sobą w celu wykonania określonego

zadania

-Obiekty zawierają dane (pola – fields)

-Obiekty zawierają procedury przetwarzania danych, czyli

metody (methods)

Konstruktor jest specjalną metodą klasy. Ma taka samą nazwę jak

klasa. (Konstruktor tworzy nowy obiekt danej klasy)

Nie można podać typu wyniku konstruktora. Nie można przekazać z niego wyniku instrukcją return.

Można w nim wywoływać funkcje składowe klasy. Można go

wywołać jedynie przy tworzeniu nowego obiektu danej klasy. W klasie można (i zwykle tak sie robi) zdefiniować wiele konstruktorów.

Konstruktor może mieć (nie musi) parametry. Konstruktor jest

odpowiedzialny za dwie rzeczy:

- zapewnienie, że obiekt będzie miał przydzieloną pamięć (to jest

sprawa kompilatora),

- inicjację obiektu (to nasze zadanie, realizuje je treść konstruktora).

Konstruktor bezargumentowy, domyślny, kopiujący:

Referencja jest alternatywną nazwą zmiennej lub obiektu. Referencja podobna jest wskaźnikowi, ale używana jest jako parametr formalny funkcji, co powoduje, iż funkcja działa na danychoryginalnych, a nie na kopii. Pozwala to na modyfikowanie wartości więcej niż jednej zmiennej.

Destruktor - Gdy obiekt kończy swoje istnienie automatycznie zwalnia się zajmowana przez niego pamięć. Nie dotyczy to jednak zasobów, które obiekt sam sobie przydzielił w czasie swego istnienia.

Ten cel realizuje destruktor, będący metodą klasy. Klasa może mieć co

najwyżej jeden destruktor. Destruktor nie ma parametrów. Nie można specyfikować typu wyniku destruktora. Destruktor jest odpowiedzialny za dwa problemy:

-zwolnienie pamięci zajmowanej przez obiekt (to sprawa

kompilatora),

-zwolnienie zasobów (to nasze zadanie, zwalnianie zasobów

zapisujemy jako treść destruktora).

Dziedziczenie - Użycie klasy bazowej do utworzenia kolejnej (własnej) stanowi proces dziedziczenia. Użycie więcej niż jednej klasy bazowej do utworzenia kolejnej (własnej) stanowi proces dziedziczenia wielokrotnego.

Rekurencja - Wywołanie przez funkcję samej siebie

Aplety działają jedynie w środowisku graficznym. Aplety są wykonywane przez środowisko przeglądarek; są one widoczne wtedy, gdy przeglądarka posiada zintegrowaną wirtualną maszynę Javy.

Maszyna wirtualna - Język maszyny wirtualnej jest językiem pośredniczącym między oprogramowaniem a rzeczywistym komputerem. Zapis programu w tym języku nosi nazwę bytecode

Void - Typ wyniku wyprodukowa- nego (obliczonego) przez metodę. Jeśli metoda nie zwraca żadnego wyniku używa się słowa void.

Ciało metody, nazywane też blokiem zawiera następujące

elementy: Klamrę otwierającą blok, Ciąg instrukcji, np. deklaracje zmiennych instrukcje przypisania pętle wywołania metod, Klamrę zamykającą blok

Int jest typem prymitywnym (primitive type) języka Java

-wartości zmiennych (pól) typu prymitywnego są pamiętane bezpośrednio w obszarze pola Zmienne typów prymitywnych zawierają wprost podaną wartość zmiennej, natomiast obiekty zawierają adres miejsca pamięci, gdzie ulokowane są pola danych obiektu. Nazwa obiektu jest zatem tylko adresem (wskaźnikiem) położenia obiektu. Do obiektów odwołujemy się więc przez adres (reference), a do zmiennych typów prymitywnych przez wartość (value)

Aliasy - Dwie lub więcej referencji do tego samego obiektu są

nazywane aliasami (aliases)

-Oznacza to, że ten sam obiekt może być wskazany przez wiele nazw

-Aliasy mogą być użyteczne, ale należy je stosować z dużą ostrożnością, bo często prowadzi to do błędów w programach

-Pamiętaj: zmiana obiektu przez jedną z referencji zmienia obiekt dla wszystkich referencji, ponieważ w pamięci jest to realnie jeden i ten sam obiekt

Wskaźnik zmienna, zawierającaa adres innej zmiennej lub adres dowolnego obszaru w pamięci komputera.(int, double, char..)

Garbage - Jeśli obiekt nie ma żadnej ważnej referencji oznacza to,

że jest niewykorzystywany (program nie może mieć do

niego dostępu) Taki obiekt jest bezużyteczny i nosi nazwę garbage

Observer – metody, które zwracają wartość wyprodukowaną przez obiekt. Wartość może być typu int, String itp. Metody tego typu nie zmieniają stanu obiektu

Mutator – metody, które zmieniają stan obiektu, nie dostarczają informacji o

obiekcie

Sygnatura - Nagłówek metody, dla sygnatury istotny jest tylko typ zwracanej wartości i typy parametrów.

Private - Można ochronić wybrane pola przed dostępem z zewnątrz za pomocą słowa kluczowego użytkownik obiektu nie może odczytać lub zmienić tych pól

setter – do ustawiania wartości pól

getter – do odczytu wartości pól

Pole statyczne (static) - Niekiedy chcemy, by pole było związane z klasą, a nie z obiektem, to znaczy by miało jedną wspólną wartość (i jeden egzemplarz w obrębie klasy).

Metody statyczne – definiowane w obrębie klasy, służą do manipulacji na polach statycznych, implementacji obserwatorów (observers) niezależnych od wywoływanego obiektu, zapisu konstruktorów.

Math - Klasa ze zbiorem funkcji matematycznych ma wyłącznie statyczne pola i metody

String - jest typem obiektu, a więc klasą języka Java, są obiektami ciągami (łańcuchami) znaków (ściślej – listą znaków)

Podklasy i ich obiekty mają swoiste właściwości

-Dziedziczą pola i metody nadklasy, które nie są prywatne

zawiera dodatkowe metody

- dziedziczy wszystkie metody nadklasy

Extends - Przy pomocy słowa kluczowego extends klasa dziedziczy cechy innej klasy

Overriding - Metody nadklasy mogą być przedefiniowane w podklasie, można jest zdefiniować z tą samą nazwą, ale z inną treścią; nowa

definicja „przesłania” definicję z nadklasy

Obsługa zdarzeń - Zdarzenia wiążą się z obsługą urządzeń wejściowych. Są nimi obiekty informujące o dokonanej określonej akcji. Informacja taka trafia do obiektu określanego mianem odbiorcy (listener).

Liczby i zmienne w java:

Zmienne: Byte 8 bits, short 16 bits, int 32 bits, long 64 bits

Typy rzeczywiśte: float 32 bits, double 64 bits

Unicode (zwany czasem po polsku Unikod)

- komputerowy zestaw znaków mający w zamierzeniu obejmować wszystkie pisma używane na świecie. Definiują go dwa standardy - Unicode oraz ISO 10646. Znaki obu standardów są identyczne. Standardy te różnią się w drobnych kwestiach, m.in. Unicode określa sposób składu.

Znaki Boolean:

AND logiczny, x && y, true if both x and y are true, false otherwise false

OR logiczny, x || y, true if either or both x, y are true, otherwise false

Procedury zatem są mechanizmem 'abstrakcji', umożliwiającym wyodrębnienie fragmentów kodu i użycie ich na zasadzie 'czarnych skrzynek'. Funkcja to procedura, która poza wykonaniem kodu oblicza pewną wartość - wynik funkcji - nadawany w trakcie wykonania jej identyfikatorowi, tak jak zmiennej.


Wyszukiwarka