Multimedia JAVA. Historia

Podobne dokumenty
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Java jako język programowania

Programowanie obiektowe

Programowanie w Internecie. Java

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Wykład 8: klasy cz. 4

Programowanie obiektowe

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Programowanie obiektowe zastosowanie języka Java SE

1 Atrybuty i metody klasowe

Współbieżność w środowisku Java

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie obiektowe

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Dokumentacja do API Javy.

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Java Język programowania

WPROWADZENIE DO JĘZYKA JAVA

Wykład 1: Wprowadzenie do technologii Java

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Rozdział 4 KLASY, OBIEKTY, METODY

Język Java część 2 (przykładowa aplikacja)

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Język Java część 2 (przykładowa aplikacja)

Wykład 2: Podstawy Języka

Programowanie obiektowe

Programowanie Obiektowe Ćwiczenie 4

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Wykład 4: Klasy i Metody

Języki i metody programowania Java. Wykład 2 (część 2)

Podstawy programowania obiektowego

Programowanie obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Materiały do zajęć VII

Interfejsy w Java. Przetwarzanie równoległe. Wątki.

Zaawansowane programowanie w języku C++ Klasy w C++

Aplikacje w środowisku Java

Programowanie obiektowe

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Programowanie obiektowe

Programowanie obiektowe

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Programowanie obiektowe

Pakiety i interfejsy. Tomasz Borzyszkowski

Enkapsulacja, dziedziczenie, polimorfizm

Programowanie obiektowe

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Programowanie obiektowe

Wykład 5 Okna MDI i SDI, dziedziczenie

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Metody dostępu do danych

Programowanie w Javie

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja...

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Podstawy Języka Java

Wykład 8: Obsługa Wyjątków

WPROWADZENIE DO JĘZYKA JAVA

Wykład 7: Pakiety i Interfejsy

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

PARADYGMATY PROGRAMOWANIA Wykład 4

Definicje klas i obiektów. Tomasz Borzyszkowski

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Podstawy języka Java. przygotował:

Aplikacje w środowisku Java

Kurs WWW. Paweł Rajba.

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Wykład 6: Dziedziczenie

PARADYGMATY PROGRAMOWANIA Wykład 2

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Dziedziczenie. Tomasz Borzyszkowski

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

Wywoływanie metod zdalnych

Wykład 9: Polimorfizm i klasy wirtualne

Transkrypt:

Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania oparty na bazie C++ -OAK 1992 poszukiwanie zastosowań dla tworzonego z wykorzystaniem nowego języka oprogramowania 1994 wstrzymanie prac nad rozwojem 1995 pierwsza publiczna prezentacja języka JAVA 1

Właściwości Javy obiektowo zorientowany język programowania (zawiera takie mechanizmy jak klasy, obiekty, dziedziczenie) umożliwia tworzenie bardzo zaawansowanych aplikacji jest niezależny od platformy pozwala na obsługę wielu wątków Właściwości Javy podczas uruchamiania aplikacji następuje sprawdzenie poprawności jej kodu tworzona aplikacja nie ma żadnego dostępu do zasobów systemowych lokalnego komputera zarządzanie pamięcią odbywa się w sposób automatyczny 2

Program w Javie program tworzony w Javie jest kompilowany na tzw. B-kod (bytecode), który dopiero jest interpretowany przez Wirtualną Maszyne Javy pracującą na określonej platformie program napisany w Javie, który może być dołączony do strony WWW określa się mianem apletu Typy zmiennych podobne jak w języku C, ale bez możliwości wykorzystywania wskaźników, np.: boolean, char, int, long pola danych (tablice) są definiowane tylko w sposób dynamiczny, np.: int tablica [] = new int [100] 3

Klasy zastępują struktury danych typu rekordy czy struktury definicja klasy określa jej budowę i zachowanie obiekt danej klasy powstaje dopiero, gdy na podstawie definicji klasy deklarowana jest zmienna odwoływanie metod danej klasy do pól danych i metod innej klasy możliwe tylko po określonym zdefiniowaniu klasy Modyfikatory klas abstract zawiera tylko metody bez implemetacji, stanowi szablon dla innych klas (dziedziczenie) final nie można od niej tworzyć klas pochodnych public jest udostępniana na zewnątrz pakietu, w którym się znajduje, w jednym pliku może wystąpić tylko jedna taka klasa private dostępna wyłącznie wewnątrz danego pakietu synchronizable używana przy wielu wątkach 4

Modyfikatory metod (i pól) public taka metoda może być wywołana z zewnątrz private dostęp do metody posiadają jedynie metody tej samej klasy protected dana metoda może być wykorzystywana przez metody swojej klasy i wszystkich klas pochodnych static dla jej wywołania nie jest konieczne istnienie żadnego obiektu native służy do oznaczenia danej metody jako działającej na określonej platformie Struktura klasy modyfikator_klasy class NazwaKlasy modyfikator_pola typ_zmiennej nazwa_zmiennej [...] modyfikator_pola typ_zmiennej nazwa_zmiennej modyfikator_metody NazwaKlasy (typ_argumentu nazwa_argumentu) [...] modyfikator_metody typ_zwracanej_wartosci nazwa_metody (typ_argumentu nazwa_argumentu) [...] 5

Konstruktor klasy najważniejsza metoda klasy, posiadająca taką samą nazwę jak klasa odpowiedzialny za inicjalizację pól podczas tworzenia i umieszczania obiektów w pamięci można wykorzystać więcej niż jeden konstruktor (przeciążenie metody) nie występuje destruktor Dziedziczenie klasa bazowa definiuje szkielet konstrukcji rodziny klas klasy pochodne dziedziczą wszystkie metody oraz pola danych swej klasy bazowej klasy pochodne mogą na nowo implementować odziedziczone metody oraz dodawać nowe funkcje i pola 6

Dziedziczenie dzięki zastosowaniu dziedziczenia unika się powtarzania fragmentów kodu oraz utrzymana zostaje przejrzystość struktury programu, pod warunkiem odpowiedniego (rozsądnego) zaprojektowania hierarchii klas Pakiety pakiet to zestaw klas zebranych w celu realizacji określonego zespołu czynności możliwe jest importowanie pakietów w dowolne miejsce programu, niezależnie gdzie mają być użyte ich klasy import nazwa_pakietu.awt.*; 7

Typowe pakiety java.lang zawiera wszystkie podstawowe klasy Javy (jest importowany automatycznie) java.io klasy obsługujące operacje wejścia/wyjścia java.net klasy konieczne do tworzenia oprogramowania wykorzystującego sieć java.awt awt klasy do tworzenia GUI java.applet applet klasy używane podczas tworzenia apletów Abstract Window Toolkit udostępnia elementy pozwalające na tworzenie graficznego interfejsu użytkownika funkcje graficzne mechanizmy do tworzenia przycisków, suwaków, okien, menu itp 8

Obsługa błędów wywołaniem procedur obsługi błędów zajmuje się interpreter (w C konieczne było sprawdzanie wartości zwracanych przez funkcje) try-catch catch-finally blok "try" zawiera fragment kodu źródłowego ciała metody, w którym mogą wystąpić błędy. Jeżeli wystąpi błąd, działaanie bloku "try" zostanie zakończone, a uruchomione zostaną procedury w odpowiadającym mu bloku "catch" Obsługa błędów void analiza_bledow try [...] catch (Exception1 e) [...] finally [...] 9

Wątki umożliwiają sprawniejsze wykonywanie programu poszczególnym wątkom mogą być przypisany różne priorytety (->czas obliczeniowy) metody tworzenia wątków tworzenie klas pochodnych zawierających kod wątku od klasy Thread tworzenie klasy wątku implementującej interfejs Runnable Zdarzenia moseenter, mouseexit, mousedrag, keydown aby można było je obsługiwać trzeba przedefiniować program sterujący zdarzeniami domyślnymi, np.: public boolean mousedown (Event e, int x, int y) //przycisk myszy został naciśnięty //pozycja (x, y) return (true); 10

Zasada funkcjonowania apletu załadowanie apletu do pamięci init(); destroy(); uruchomienie apletu załadowanie strony zatrzymanie apletu usunięcie apletu z pamięci start(); stop(); opuszczenie strony Metody apletu init() wywołana jest w momencie uruchomienia apletu, odpowiada za przeprowadzenie wszelkich inicjalizacji start() wywołana jest po każdym uruchomieniu apletu, gdy aplet korzysta z wielu wątków, ich zainicjowanie również następuje wewnątrz metody start() 11

Metody apletu stop jest wywoływana w chwili, gdy aplet kończy działanie, może służyć do zatrzymania poszczególnych wątków destroy przejmuje funkcje kończące działanie apletu, zanim zostanie on ostatecznie usunięty z pamięci, wirtualna maszyna Javy wywołuje ja bezpośrednio przed zakończeniem programu Aplet na stronie <APPLET CODE="nazwa.class" WIDTH=x HEIGHT=y ALIGN="wyrownanie" NAME="jakas_nazwa"> <PARAM NAME="nazwa" VALUE="cokolwiek"> [...] Tekst dla przegladarek bez Javy </APPLET> 12

Odczyt parametrów public String getparameter (String Nazwa) zwraca ona wartość przypisaną parametrowi "Nazwa" jeżeli nie ma odpowiedniego parametru, funkcja zwróci wartość null() Pakiety do tworzenia JDK -Java Development Kit Symantec Visual Cafe Borland JBuilder MS VisualJava 13

Przyszłość Javy po początkowym wielkim zainteresowaniu (próby tworzenia pakietów oprogramowania w Javie) obecnie traci ona na znaczeniu. Główną przyczyną jest powolność działania i zastępowanie przez inne metody urozmaicania stron WWW (rozwój JavaScriptu i wzrost popularności Flasha) Do zapamiętania Różnice między Javą a JavaScriptem Konstrukcja klasy Zasada umieszczenia apletu na stronie WWW Zasada działania apletu na stronie WWW 14