sciaga Java


Obiekt - pojęcie lub obiekt materialny, który może być wyodrębniony z otoczenia.

Podejście Obiektowe

1.wszystko jest obiektem 2.program jest zbiorem obiektów które wysyłają sobie komunikaty 3.każdy obiekt posiada pamięć na którą składają się inne obiekty 4.każdy obiekt posiada swój typ 5.wszystkie obiekty tego samego typu mogą otrzymywać te same komunikaty

Obiekty - Obiekt ma stan, zachowanie i tożsamość:

stan - dane wewnętrzne

zachowanie - zestaw metod (funkcji) do wykonania

tożsamość - każdy obiekt można w sposób jednoznaczny odróżnić od innych obiektów

Klasa - definicja zbioru podobnych obiektów. Wszystkie obiekty tej samej klasy mają jednakową strukturę i zachowania.

Klasa abstrakcyjna - taka klasa jest wzorcem dla innych podklas, niezmaterializowana - nie można z niej tworzyć obiektów, wykorzystywana do dziedziczenia,

Metody abstrakcyjne: nie jest implementowana/brak ciała, można stworzyć jedynie wewnątrz klasy abstrakcyjnej, przed metodą słowo abstract

Interface - schemat/wzór metod w klasie, klasa implementująca (implements) musi posiadać wszystkie metody z interfejsu

Klasa generyczna JAVA / Szablon C++ - klasa niezależna od typu, np. class Kalkulator<T> , Kalkulator<Integer> k = new Kalkulator<Integer>(); uwaga tablica w JAVA: T tab[] = (T[])new Object[];

Dziedziczenie extends- związek pomiędzy klasami, w którym dana klasa przejmuje strukturę albo zachowanie zdefiniowane w innej klasie lub klasach.

Enkapsulacja - oznacza sposób chowania wszystkich szczegółów obiektu, które nie wnoszą wkładu do jego podstawowej charakterystyki. Zwykle ukryta jest struktura obiektu i implementacja jego metod.

Implementacja - to kod umożliwiający wykonanie żądań przez obiekt, ciało metod.

Hermetyzacja - Ukrywanie danych i kontrola dostępu w Javie. Zalety ukrywania implementacji: ochrona danych i szczegółów implementacji przed ingerencją z zewnątrz możliwość zmiany implementacji klas bez wpływu na poprawność działania aplikacji ukrywanie nieistotnych szczegółów implementacji. Java obsługuje kilka poziomów kontroli dostępu:

public - dostępne dla każdego

private - tylko twórca klasy

protected - dostęp mają tylko dana klasa i klasy dziedziczące.

Przesłanianie - w dziedziczeniu, ta sama nazwa, ilość i typy parametrów, ten sam typ zwracany - inne tylko ciało

Przeciążanie - ta sama nazwa, inna ilość lub typ parametrów, może być inny typ zwracany

Static - pole - zmienna globalna, ta sama wartość w ramach wszystkiech klas tego samego typu, można zmieniać wartość

Final - pole - zmienna ze stałą wartością, metoda - nie można przesłaniać, klasa - nie można dziedziczyć

Klasa Obiekt Jest nadklasą (klasą macierzystą) wszystkich innych klas w Javie

Problem kompilatora: jaki kod ma zostać wykonany

Rozwiązanie: sposób wiązania, polimorfizm - pojęcie teorii typów wg którego sposób wykonania danej operacji zależy od typu obiektu.

Wczesne wiązanie - kompilator generuje wywołanie funkcji, program łączący (linker) zamienia nazwę na konkretny adres.

Późne wiązanie - kompilator umieszcza zamiast wywołania metody fragment kodu, który przeprowadza obliczenie adresu metody dopiero w czasie działania programu.

Polimorfizm - Polimorfizm to najważniejsza cecha, która umożliwia dostosowanie działania obiektów do własnych oczekiwań poprzez łączenie funkcjonalności zarówno dziedziczonej, jak i implementowanej samodzielnie. Idea polimorfizmu bazuje na tym, że użytkownik obiektu nie wie i nie musi wiedzieć, czy konkretne zachowanie wykorzystywanego obiektu zostało zrealizowane bezpośrednio w tym obiekcie czy też w tym, po którym dziedziczy on swoje właściwości. Ponadto może się okazać, że takie samo odwołanie do metody za każdym razem dotyczy innej akcji. Może się też okazać, że w zależności od poziomu dziedziczenia pozornie ta sama metoda (nazywająca się tak samo) wykonuje inną akcję.

Zwierze k = new Kot();

Zwierze p = new Pies();

k.odglos();

p.odglos();

Rzutowanie w górę - to zmiana sposobu patrzenia na obiekt - tak jakby był obiektem klasy bazowej

Rzutowanie w dół - to zmiana sposobu patrzenia na obiekt - tak jakby był obiektem klasy dziedziczącej

RTTI - mechanizm dynamicznego pozyskiwania informacji o typach obiektów w trakcie wykonania się programu

Operator instanceof zwraca true jeśli lewy operand jest tej samej klasy lub podklasy jak i prawy. Prawy operand może być również typu interface, wtedy test określa czy obiekt będący lewym argumentem implementuje ten interfejs. np. if (k instanceof z)

Garbage Collector Java: odśmiecacz pamięci, który wykrywa i usuwa obiekty nieużywane. Odśmiecacz pamięci: wykrywanie które obiekty sa nieużywane zwalnianie pamięci po tych obiektach Upraszcza problemy projektowe, zapobiega przeciekom pamięci.

Wyjątki Obsługa błędów wymuszona przez język programowania: wyjątek jest obiektem sygnalizowany z miejsca błędu przechwytywany przez odpowiednią procedurę obsługi, uwaga na kolejność wyjątków, wyjątek największy Throwable

Wyjątki służą również do sterowania programu, w przypadku wykrycia błędów.

Wyjątki weryfikowane: throws, throw new, try, catch (pełna obsługa błędu)

Wyjątki nieweryfikowane: throw new (niepełna/nieznana obsługa)

Operator rzutowania typów Jest używany do wymuszenia zmiany typu wyrażenia. Rzutowanie może być użyte do zmiany typu wartości podstawowych, np. zamieniając wartość double na int: int obszar = (int)(Math.PI * diameter);

Listy w Javie - gotowe klasy do tworzenia list, przykładowe medoty add(Object),remove(Object),remove(indeks),size(),get(indeks):

ArrayList - jest szybsza w dostępie do dowolnego elementu

LinkedList - jest szybsza w usuwaniu i dodawaniu dowolnego elementu



Wyszukiwarka

Podobne podstrony:
1 sciaga ppt
Java Media FreamWork
metro sciaga id 296943 Nieznany
ŚCIĄGA HYDROLOGIA
AM2(sciaga) kolos1 id 58845 Nieznany
Narodziny nowożytnego świata ściąga
java 2
finanse sciaga
Jak ściągać na maturze
Ściaga Jackowski
Projekt java
Aparatura sciaga mini
OKB SCIAGA id 334551 Nieznany
Przedstaw dylematy moralne władcy i władzy w literaturze wybranych epok Sciaga pl
fizyczna sciąga(1)
Finanse mala sciaga
JAVA tablice
Podział węży tłocznych ze względu na średnicę ściąga

więcej podobnych podstron