Instalacja. Zwykle należy też zwiększyć pamięć dla konsoli poleceniem: set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk1.2.2 set PATH=%PATH%;%ANT_HOME%\bin

Wielkość: px
Rozpocząć pokaz od strony:

Download "Instalacja. Zwykle należy też zwiększyć pamięć dla konsoli poleceniem: set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk1.2.2 set PATH=%PATH%;%ANT_HOME%\bin"

Transkrypt

1 1 Apache Ant Ant jest narzędziem umożliwiającym automatyzację procesów związanych z budowaniem programów. Jego podstawowe cechy to: konfiguracja zadań zapisana w formacie XML, wieloplatformowość m. in. Linux, Unix (np. Solaris and HP-UX), Windows 9x i NT, OS/2 Warp, Novell Netware 6 oraz MacOS X. rozszerzalność w oparciu o klasy napisane w Javie. Ant jest rozwijany w ramach Apache Software Foundation. Strona domowa projektu: Wymagania: parser XML'a zgodny z JAXP, JDK w wersji 1.2 lub nowszej. W przypadku posiadania samego JRE część zadań nie będzie działać.

2 2 Instalacja Ant jest rozpowszechniany jako archiwum zip. Należy je rozpakować w wybranym katalogu. Następnie należy: dodać podkatalog bin do ścieżki poszukiwań, ustawić zmienną środowiska ANT_HOME, ew. ustawić zmienną JAVA_HOME, np. (Windows). set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk1.2.2 set PATH=%PATH%;%ANT_HOME%\bin Zwykle należy też zwiększyć pamięć dla konsoli poleceniem: shell=c:\command.com c:\ /p /e:32768

3 Wykorzystanie tag project Informacje na temat zadań są zapisane w pliku XML. Taki plik zawiera jeden projekt (project) i co najmniej jeden cel (target). Cel składa się z zadań (task). Projekt posiada trzy opcjonalne atrybuty: name nazwa projektu, default nazwa domyślnego celu wykonywanego przy budowaniu projektu, basedir katalog od którego będą,,liczone nazwy ścieżek. Opcjonalnie projekt może posiadać opis umieszczeny w elemencie <description>. Przykład: <project name="myproject" default="dist" basedir="."> <description> simple example build file </description>... </project> 3

4 4 Wykorzystanie tag target Cel (target) może być zależny od innych celów. Pozwala to na określenie kolejności wykonywania celów: <target name="a"/> <target name="b" depends="a"/> <target name="c" depends="b"/> <target name="d" depends="b,c,a"/> Ant wykonuje cele,,zależne w kolejności od lewej do prawej. W powyższym przykładzie, jeśli wywołać cel D, zadania zostaną wykonane w kolejności A, B, C, D. Należy zwrócić uwagę na możliwość wywołania celu jeszcze wcześniej, jeśli był on zależny od innego wcześniej wykonanego celu.

5 Wykorzystanie tag target Cel może być wywoływany warunkowo, korzystając z następującej składni: <target name="a" if="property"/> Jeśli wartość property jest ustawiona cel A jest aktywny. Wartość własności property jest bez znaczenia. <target name="a" unless="property"/> Jeśli wartość property jest nieustawiona cel A jest aktywny. Cel (target) posiada następujące atrybuty: name - nazwa depends zależności, if jeśli unless,,jeśli nie, description dodatkowy, krótki opis zadania. 5

6 6 Wykorzystanie zadania Zadanie określa konkretny kod, który ma zostać wykonany. Zadania zwykle definiuje się tagami w następującej postaci: <taskname attribute1="value1" attribute2="value2"... /> Wszystkie zadania posiadają nazwę typ zadania. Liczba atrybutów zależy od rodzaju zadania. Zadania dzielimy na wbudowane, opcjonalne i własne. Zadanie może mieć także przyporządkowany identyfikator: <taskname id="taskid"... /> Dzięki temu można odwołać się do tego zadania z innych zadań. Przykład: <script... > task1.setattr("bar"); </script> ustawia atrybut attr konkretnej instancji zadania. Z poziomu programu w Javie dostęp do zadania uzyskujemy poprzez: project.getreference("task1").

7 7 Wykorzystanie własności Z projektem może być związany zbiór własności. Aby je wykorzystać należy wpisać ${nazwawlasosci}. Ant umożliwia dostęp do wszystkich własności systemowych (System.getProperties()). Ponadto udostępnione są także: basedir bezwzględna ścieżka dla projektu (atrybut basedir), ant.file bezwzględna scieżka do opisu XML (buildfile), ant.version wersja Ant'a ant.project.name nazwa wykonywanego projektu, ant.java.version wersja Wirtualnej Maszyny Javy (obecnie dopuszczalne wartości to "1.1", "1.2", "1.3", "1.4" oraz "1.5").

8 Wykorzystanie przykład <project name="myproject" default="dist" basedir="."> <description> przykładowy buildfile </description> <!-- ustawienie właściwości globalnych --> <property name="src" location="src"/> <property name="build" location="build"/> <property name="dist" location="dist"/> <target name="init"> <!-- timestamp --> <tstamp/> <!-- Przygotowanie katalogów dla kompilacji --> <mkdir dir="${build}"/> </target> <target name="compile" depends="init" description="compilation" > <!-- Kompilacja źródeł z ${src} do ${build} --> <javac srcdir="${src}" destdir="${build}"/> </target> 8

9 9 Wykorzystanie przykład <target name="dist" depends="compile" description="generowanie dystrybucji" > <!-- Przygotowanie katalogu --> <mkdir dir="${dist}/lib"/> <!-- Stworzenie archiwum MyProject-${DSTAMP}.jar --> <jar jarfile="${dist}/lib/myproject-${dstamp}.jar" basedir="${build}"/> </target> <target name="clean" description="porzadki" > <!-- Kasowanie katalogów ${build} i ${dist} --> <delete dir="${build}"/> <delete dir="${dist}"/> </target> </project>

10 10 Ścieżki Często wymagane jest podanie zbioru plików (np. Zmienna CLASPATH). Można tu skorzystać z elementów pathelement, fileset i dirset. Przykład: <classpath> <pathelement path="${classpath}"/> <fileset dir="lib"> <include name="**/*.jar"/> </fileset> <pathelement location="classes"/> <dirset dir="${build.dir}"> <include name="apps/**/classes"/> <exclude name="apps/**/*test*"/> </dirset> <filelist refid="third-party_jars"/> </classpath>

11 Referencje <project... > <target... > <rmic...> <classpath> <pathelement location="lib/"/> <pathelement path="${java.class.path}/"/> <pathelement path="${additional.path}"/> </classpath> </rmic> </target> <target... > <javac...> <classpath> <pathelement location="lib/"/> <pathelement path="${java.class.path}/"/> <pathelement path="${additional.path}"/> </classpath> </javac> </target> </project> 11

12 12 Referencje <project... > <path id="project.class.path"> <pathelement location="lib/"/> <pathelement path="${java.class.path}/"/> <pathelement path="${additional.path}"/> </path> <target... > <rmic...> <classpath refid="project.class.path"/> </rmic> </target> <target... > <javac...> <classpath refid="project.class.path"/> </javac> </target> </project>

13 13 Uruchamianie Ant'a Aby uruchomić projekt należy wcześniej dodać do CLASSPATH katalog ANT_HOME/lib. Przykładowe uruchomienie programu: ant uruchamia domyslny cel ze skryptu build.xml z bierzącego katalogu, ant -buildfile plik.xml uruchamia domyslny cel ze skryptu plik.xml z bierzącego katalogu, Można też uruchomić Ant'a poprzez wirtualną maszynę Javy: java -Dant.home=c:\ant org.apache.tools.ant.main [options] [target] lub java -Dant.home=c:\ant org.apache.tools.ant.launch.launcher [options] [target]

14 14 Podstawowe zadania - javac javac służy do kompilacji programów. Przykład zastosowania: <javac srcdir="${src}" // katalog z plikami.java destdir="${build}" // katalog na pliki.class includes="d1/**,d2/**" // dodatkowe źródła do kompilacji excludes="${src}/test/**" // pliki wykluczone z kompilacji fork="true" // do kompilacji użyty zostanie program javac source="1.2" // źródla zgodne z wersją 1.2 javy target="1.2" // klasy zgodne z wersją 1.2 javy classpath="xyz.jar" // zbiór klas i bibliotek z których korzysta program />

15 <signjar jar="${dist}/lib/mylibtest.jar" // podpisujemy aplikacje alias="myalias" storepass="mypass" /> 15 Podstawowe zadania jar, signjar jar pozwala przykotować archiwum jar. Przykład zastosowania: <jar destfile="${dist}/lib/mylib.jar"> //tworzymy bibliotekę <fileset dir="${build}/classes" excludes="**/test.class" /> <fileset dir="${src}/resources"/> </jar> <jar destfile="${dist}/lib/mylibtest.jar"> // tworzymy test <fileset dir="${build}/classes"/> <fileset dir="${src}/resources"/> <manifest> <attribute name="main-class" value="com.myapp.test" /> </manifest> </jar>

16 16 Inne zadania izpack izpack jest zadaniem zdefiniowanym w pakiecie izpack i służy do przygotowania wersji instalacyjnej programu. Przykład zastosowania: <taskdef name="izpack" classpath="${lib}/standalone-compiler.jar" classname="com.izforge.izpack.ant.izpacktask" />... <echo message="makes the installer using IzPack"/> <izpack input="${basedir}/install.xml" output="${basedir}/myapp-install.jar" installertype="standard" basedir="${basedir}" />

17 Tworzenie nowych własnych zadań 1. Utworzenie klasy rozszerzającej org.apache.tools.ant.task. 2. Stworzenie publicznego setter'a dla każdego argumentu. Przykład dla argumentu file tworzymy metodę setfile(). 3. Jeśli zadanie może zawierać podzadania (jako elementy) klasa musi implementować interfejs org.apache.tools.ant.taskcontainer. Takie zadanie nie może zawierać innych elementów. 4. Jeśli zadanie może posiadać dane tekstowe pomiędzy tagiem otwierającym i zamykającym należy zaimplementowac metodę public void settext(string). Własności nie są wypełniane. 5. Dla każdego elementu (np. field) należy zaimplementowac odpowiednią metodę: createfield(), addfield() lub addconfiguredfield(). 6. Zaimplementowac metodę public void execute() throws BuildException, która realizuje zadanie. 17

18 <?xml version="1.0"?> <project name="owntaskexample" default="main" basedir="."> <taskdef name="mytask" classname="pl.domena.myveryowntask"/> <target name="main"> <mytask message="hello World! MyVeryOwnTask works!"/> </target> </project> 18 Prosty przykład package pl.domena; import org.apache.tools.ant.buildexception; import org.apache.tools.ant.task; public class MyVeryOwnTask extends Task { private String msg; public void execute() throws BuildException { System.out.println(msg); } public void setmessage(string msg) { this.msg = msg; } }

19 Cykl życia zadania 1. Zadanie jest tworzone w momencie parsowania dokumentu. Oznacza to, że zadanie istnieje nawet jeśli nie zostanie wywołane. 2. Zadanie otrzymuje referencje do projektu, pozycji i celu poprzez dziedziczone pola: project, location i target (w trakcie parsowania). 3. Jeśli użytkownik użyje atrybutu id projekt zapisuje referencje do zadania. 4. Wywoływana jest metoda init() (w trakcie parsowania). 5. Za pomocą metod createxxx() lub addxxx() tworzone są wszystkie elementy zadania (w trakcie parsowania). 6. Za pomocą metod setxxx() is ew. settext() są ustawiane atrybuty (w trakcie uruchomienia). 7. Ustawiane są atrybuty podzadań lub innych elementów (w trakcie uruchomienia). 8. Wywoływana jest metoda execute(). Metoda może być wywołana więcej niż raz (w trakcie uruchomienia). 19

20 20 Konwersje typów Typowo metody setxxx() używają argumentu java.lang.string. Wtedy wartość jest przekazywana do programu (po ew. wypełnieniu własności). Jednak istnieje możliwość użycia innych typów: boolean - zostanie przekazane true jeśli w pliku konfiguracyjnym było wpisane true lub yes. W przeciwnym przypadku zostanie przekazane false. char lub java.lang.character pierwsza litera wyrażenia określonego w pliku konfiguracyjnym, jakikolwiek inny typ podstawowy (int, short,...) - zostanie wykonana odpowiednia konwersja, java.io.file najpierw zostanie ustalone czy podana ścieżka jest bezwzględna, jeśli nie zostanie zinterpretowana jako względna w odniesieniu do podanej w projekcie jako basedir,

21 21 Konwersje typów org.apache.tools.ant.types.path - dane zostaną rozdzielone z wykorzystaniem : i ; jako separatorów. Względne ścieżki zostaną uzupełnione o basedir. java.lang.class - klasa o podanej nazwie zostanie załadowana i przekazana do metody, jakikolwiek inny typ posiadający konstruktor, którego jedynym argumentem jest typ java.lang.string - zostanie utworzona nawa instancja obiektu i przekazana metodzie. podklasa org.apache.tools.ant.types.enumeratedattribute zostanie wywołana metoda setvalue().

22 Elementy Chcąc umożliwić używanie nowego elementu w zadaniu o nazwie field typu FieldElement należy zdefiniować jedną z metod: 1. public FieldElement createfield() - tworzona jest nowa instancje FieldElement. 2. public void addfield(fieldelement value) przekazywany jest argument utworzony po wywołaniu odpowiedniego konstruktora. 3. public void addconfiguredfield(fieldelement value) dodatkowo tworzone są wszystkie elementy wewnętrzne za pomocą odpowiednich konstruktorów. W drugim i trzecim przypadku klasa FieldElement musi posiadć publiczny bezargumentowy konstruktor lub publiczny jednoargumentowy konstruktor korzystający z parametru typu oklreślającego projekt. 22

23 23 Typy Aby umożliwić używanie nowego typu Type w zadaniu należy zdefiniować jedną z metod: 1. public void add(type type) - przekazywany jest argument utworzony po wywołaniu odpowiedniego konstruktora. 2. public void addconfigured(type type) dodatkowo tworzone są wszystkie elementy wewnętrzne za pomocą odpowiednich konstruktorów.

24 24 Typy przykład Zadanie MyTask zawiera elementy typu Condition: public class MyTask extends Task { private List conditions = new ArrayList(); public void add(condition c) { conditions.add(c); // dodanie zadania do listy } public void execute() { // wykonanie zadania } } Użycie zadania MyTask: <taskdef name="mytask" classname="mytask" classpath="classes"/> <typedef name="condition.equals" classname="org.apache.tools.ant.taskdefs.conditions.equals"/> <mytask> <condition.equals arg1="${debug}" arg2="true"/> </mytask>

25 Typy i elementy przykład public class Sample { public static class MyFileSelector implements FileSelector { public void setattra(int a) {} public void setattrb(int b) {} public void add(path path) {} public boolean isselected(file basedir, String filename, File file) { return true; } } interface MyInterface { void setverbose(boolean val); } public static class BuildPath extends Path { public BuildPath(Project project) { super(project); } } public void add(myinterface inter) {} public void seturl(string url) {} 25

26 Typy i elementy przykład } public static class XInterface implements MyInterface { public void setverbose(boolean x) {...} public void setcount(int c) {...} } <typedef name="myfileselector" classname="sample$myfileselector" classpath="classes" loaderref="classes"/> <typedef name="buildpath" classname="sample$buildpath" classpath="classes" loaderref="classes"/> <typedef name="xinterface" classname="sample$xinterface" classpath="classes" loaderref="classes"/> <copy todir="copy-classes"> <fileset dir="classes"> <myfileselector attra="10" attrb="-10"> <buildpath path="." url="abc"> <xinterface count="4"/> </buildpath> </myfileselector> </fileset> </copy> 26

27 Podzadania i zdarzenia Zadanie posiadające podzadania posiada metodę addtask(), która powinna uruchomić podzadanie za pomocą metody perform() z pakietu org.apache.tools.ant. Metoda perform wywołuje odpowiednie zdarzenie BuildEvent i wykonuje metodę execute(). Zdarzenia można przechwycić w obiekcie typu Project używając odpowienich BuildListener'ow (org.apache.tools.antbuildlistener). Listener przechwytuje zdarzenia: rozpoczęcie i zakończenie dla projektu, celu oraz logowanie komunikatów. Od wersji pojawił się SubBuildListener pozwalający obsłużyć zadania <ant> i <subant>. UWAGA: listener nie może korzystać bezpośrednio ze strumieni systemowych ponieważ Ant przekierowuje te strumienie do systemu obsługi zdarzeń BuildEvent. 27

28 28 Podsumowanie Wykorzystanie Ant'a umożliwia automatyzaję wielu procesów związanych z tworzeniem oprogramowania. Narzędzie to jest powszechnie używane szczególnie przez programistów urzywających Javy. Uniwersalność i elastyczność Anta istotnie wpłynęła na popularnośc tego rozwiązania.

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Metryki. Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Metryki. Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz Metryki Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Zastosowanie narzędzi ant i ckjm do pomiaru złożoności oprogramowania 2 1. Wskazanie ścieżki

Bardziej szczegółowo

Apache ANT. Narzędzie do automatyzacji zadań projektowych. Spis treści. Dawid Weiss Id: ant-zajecia.tex :37:20Z dweiss

Apache ANT. Narzędzie do automatyzacji zadań projektowych. Spis treści. Dawid Weiss Id: ant-zajecia.tex :37:20Z dweiss 1 Apache ANT Narzędzie do automatyzacji zadań projektowych Dawid Weiss 004 006 Spis treści 1 Wprowadzenie ANT jest odpowiednikiem programu MAKE, znanego użytkownikom systemów Unix, i służy do automatyzacji

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

Bardziej szczegółowo

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8 Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

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

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student

Bardziej szczegółowo

1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK)

1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK) 1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK) 1.1. Podstawowe metryki CK: międzymodułowe CBO, RFC modułowe WMC, DIT, NOC, LCOM1. 1.2. Uzupełniony zbiór metryk przez innych

Bardziej szczegółowo

1 Atrybuty i metody klasowe

1 Atrybuty i metody klasowe 1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich

Bardziej szczegółowo

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

Języki i metody programowania Java. Wykład 2 (część 2) Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego

Bardziej szczegółowo

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Java w 21 dni / Rogers Cadenhead. Gliwice, cop. 2016 Spis treści O autorze 11 Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Dzień 1. Rozpoczynamy przygodę z Javą 21 Język Java 21 Programowanie obiektowe 24 Obiekty

Bardziej szczegółowo

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT.

JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT. JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT. MATERIAŁY: http://www.mkyong.com/tutorials/java-xml-tutorials/ http://ant.apache.org http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Java Podstawy JUST JAVA 28.03.2007. Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej

Java Podstawy JUST JAVA 28.03.2007. Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej Java Podstawy JUST JAVA 28.03.2007 Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej beretam@torus.uck.pk.edu.pl http://torus.uck.pk.edu.pl/~beretam Hello

Bardziej szczegółowo

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

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium

Bardziej szczegółowo

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

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

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

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

Java Język programowania

Java Język programowania Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja

Bardziej szczegółowo

Aplikacje RMI Lab4

Aplikacje RMI   Lab4 Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania

Bardziej szczegółowo

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Enkapsulacja, dziedziczenie, polimorfizm

Enkapsulacja, dziedziczenie, polimorfizm 17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja

Bardziej szczegółowo

Ant - prezentacja narzędzia

Ant - prezentacja narzędzia Dawid Dorosz Michał Ostrowiecki Andrzej Perużyński Technologie Biznesu Elektronicznego 21 marca 2006 Plan prezentacji 1 Wprowadzenie Wprowadzenie do Ant Ant vs Make Budowa pliku build.xml 2 Instalacja

Bardziej szczegółowo

JAVA?? to proste!! Autor: wojtekb111111

JAVA?? to proste!! Autor: wojtekb111111 1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do

Bardziej szczegółowo

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

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 13 Klasy Klasa to grupa obiektów, które mają wspólne właściwości, a obiekt jest instancją klasy. Klasa w języku Java może zawierać: pola - reprezentują stan obiektu (odniesienie do pola z kropką), methods

Bardziej szczegółowo

Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl

Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

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

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Javadoc Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Wprowadzenie do Javadoc Treść prezentacji: http://students.mimuw.edu.pl/~as219669/javadoc.pdf Zadania: http://students.mimuw.edu.pl/~as219669/zadanie.rar

Bardziej szczegółowo

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia 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

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

JDK można pobrać ze strony http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html

JDK można pobrać ze strony http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html Program napisany w języku Java, w wyniku kompilacji da kod bajtowy, plik z rozszerzeniem.class. Nie jest to plik wykonywalny samodzielnie w systemie operacyjnym tak jak pliki.exe. Uruchomienie gotowego

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 3 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

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

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium

Bardziej szczegółowo

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania Spis treści Rozdział 1. Wprowadzenie do programu IBM SPSS Modeler Social Network Analysis.............. 1 IBM SPSS

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Zaawansowane Systemy Decyzyjne Laboratorium prowadzący: Andrzej Czajkowski 1 Dostęp do Bazy Danych. 1 Cel ćwiczenia. Celem ćwiczenia

Bardziej szczegółowo

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, metody wirtualne i klasy abstrakcyjne Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

Db4o obiektowa baza danych wersja.net

Db4o obiektowa baza danych wersja.net Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje

Bardziej szczegółowo

Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz

Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Zadanie 1. Wykonanie projektu Java SE w środowisku Netbeans- File/New Project W formularzu New Project

Bardziej szczegółowo

AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak Ustawienie zmiennych środowiskowych Przed rozpoczęciem pracy z pakietem AXIS należy ustalić

Bardziej szczegółowo

Remote Method Invocation 17 listopada 2010

Remote Method Invocation 17 listopada 2010 Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

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

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet filtry oraz web.xml Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Filtry, wywoływanie filtrów, wywołania łańcuchowe

Bardziej szczegółowo

Wprowadzenie do tworzenia własnego modułu w kontrolerze Floodlight.

Wprowadzenie do tworzenia własnego modułu w kontrolerze Floodlight. Instrukcja do laboratorium 4 Wprowadzenie do tworzenia własnego modułu w kontrolerze Floodlight. 1. Cel ćwiczenia Celem ćwiczenia jest implementacja własnego modułu sterownika Floodlight w języku Java.

Bardziej szczegółowo

Dokumentacja do API Javy.

Dokumentacja do API Javy. Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu

Bardziej szczegółowo

Co jeszcze mogą nam dać adnotacje? Adam Warski

Co jeszcze mogą nam dać adnotacje? Adam Warski Co jeszcze mogą nam dać adnotacje? Adam Warski Weryfikacja statyczna Sprawdzanie własności programu bez jego uruchomienia Weryfikacja statyczna Najprostszy przykład: Sprawdzanie typów Przy wywołaniu metody

Bardziej szczegółowo

1. Wprowadzenie. 2. Instalacja i uruchomienie. 3. Projekt i POM

1. Wprowadzenie. 2. Instalacja i uruchomienie. 3. Projekt i POM 1. Wprowadzenie Apache Maven jest kolejnym narzędziem do wykonywania buildów aplikacji platformy Java. Projekt jest znacznie młodszy niż Apache Ant (Ant 1.1 jako samodzielny projekt od roku 2000, Maven

Bardziej szczegółowo

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm

Bardziej szczegółowo

Instrukcja instalacji

Instrukcja instalacji Instrukcja instalacji Niniejsza instrukcja obejmuje instalację krok po kroku narzędzi potrzebnych do uruchomienia aplikacji ERS pod systemem Windows. Ze względu na uniwersalność użytych rozwiązań możliwe

Bardziej szczegółowo

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

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Podstawy, środowisko JDK, kompilacja programów z linii poleceń

Podstawy, środowisko JDK, kompilacja programów z linii poleceń Komunikacja Człowiek-Komputer ZADANIE 1 Niniejsza instrukcja podzielona jest na dwie części. W pierwszej części zostały przedstawione dwiczenia wstępne o charakterze dydaktycznym do samodzielnego wykonania

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium. Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium. Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka

Bardziej szczegółowo

KOTLIN. Język programowania dla Androida

KOTLIN. Język programowania dla Androida KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga

Bardziej szczegółowo

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

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego

Bardziej szczegółowo

MentorGraphics ModelSim

MentorGraphics ModelSim MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu

Bardziej szczegółowo

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1 P d jś i bi kt d b d t ó Podejście obiektowe do budowy systemów rozproszonych Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java),wywiedziony idi z Remote obie kt aplikacja klie ncka interfe js serw

Bardziej szczegółowo

1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?

1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? 1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? public static void test1() { Object[] o = new Object[] { "1", "2", "3" ; List l = new ArrayList(Arrays.asList(o));

Bardziej szczegółowo

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3(); 1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie

Bardziej szczegółowo