Programowanie Obiektowe (Java)
|
|
- Aleksander Makowski
- 6 lat temu
- Przeglądów:
Transkrypt
1 1. Kontenery w Javie 5 Wykład dziewiąty 1 import java.util.*; 2 3 class Element { 4 private int value; 5 6 public String tostring() { 7 return new Integer(value).toString(); 8 } 9 10 public Element(int x) { 11 value=x; 12 } 13 } public class Listy { 16 public static void main(string[] args) { 17 ArrayList<Element> a = new ArrayList<Element>(); 18 LinkedList<Element> l = new LinkedList<Element>(); 19 Iterator<Element> it; for(int i=0;i<20; i++) 22 a.add(new Element((int)(Math.random()*20))); Jednym z nowych elementów jakie zostały dodane do języka Java w jej najnowszym wydaniu (numer środowiska 1.5) s ą typy ogólne ( ang. generics), które wzbogacaj ą język Java o mechanizmu podobny do mechanizmu szablonów, znanego z języka C++. S ą one stosowane między innymi w kontenerach. Dzięki nim możemy określi ć jakiej klasy obiekty będ ą przechowywane w kontenerze (lub jaki interfejs będą implementowały te obiekty). Dzięki temu możemy częściowo ograniczyć rzutowanie w dół 1, które nie jest bezpieczne, jeśli nie stosujemy żadnego mechanizmu rozpoznawania typu podczas wykonania programu. Nie możemy jednak, stosując typy ogólne zupełnie pomin ąć rzutowania w dó ł, bowiem oprócz obiektów określonej klasy możemy w kontenerze przechowywa ć równie ż obiekty klas dziedziczących po niej. Typy ogólne mog ą by ć stosowane nie tylko w kontenerach, ale równie ż w zwracanych przez nie iteratorach. Inn ą nowości ą, któr ą możemy stosowa ć wraz z kontenerami jest nowa posta ć pętli for. Oto kod programu ilustrującego użycie list, w którym zastosowano opisane wcześniej nowe elementy Javy: 2, 23 System.out.println(a); 24 for(element e : a) 25 System.out.print(e+" "); 26 System.out.println(); 27 it = a.iterator(); 28 while(it.hasnext()) 29 System.out.print(it.next()+" "); 30 System.out.println(); 31 it=a.iterator(); 32 while(it.hasnext()) { 33 l.addfirst(it.next()); 34 it.remove(); 35 } 36 System.out.println(l); 37 while(!l.isempty()) 1 Korzystając w kontenerach z typów ogólnych sprawiamy, że kontener pamięta klas ę przechowywanych obiektów. Stosowane s ą więc przez niego referencje konkretnej klasy, a nie klasy Object. 2 W języku polskim częściej spotyka si ę obecnie termin typy generyczne. 1
2 38 System.out.print(l.removeLast()+" "); 39 System.out.println(); 40 } 41 } Należy zaznaczy ć, że nowa posta ć pętli for zapewnia większy stopie ń bezpieczeństwa korzystania z kontenerów, ni ż zwykła instrukcja for, jeśli tworzymy pętle zagnieżdżone. Innym udogodnieniem w korzystaniu z kontenerów jest automatyczne opakowywanie i rozpakowywanie typów podstawowych w odpowiadające im klasy. Ta technika pozwala na stworzenie kontenera, do którego będzie można dodawa ć wartości typu int bez dokonywania dodatkowych zabiegów, które zostan ą za nas wykonane automatycznie. 2. Klasa Arrays W pakiecie java.util znajduje si ę klasa Arrays zawierająca wiele metod statycznych pozwalających na manipulowanie zawartości ą tablic. Metoda fill() wypełnia wszystkie elementy tablicy t ą sam ą wartości ą. Metoda equals() służy do porównywania elementów tablicy. Została ona przeciążona dla typów podstawowych i obiektów klasy Object. Należy pamięta ć, że w przypadku obiektów przechowywanych w tablicy, porównywane s ą ich referencje, a nie zawarto ść pól. Jeśli chcemy porównywa ć pola obiektów, to możemy zrobi ć to na dwa sposoby. Pierwszy polega na zaimplementowaniu przez klas ę obiektów przechowywanych w tablicy interfejsu Comparable i jego metody compareto(). Drugi polega na stworzeniu odrębnej klasy implementującej interfejs Comparator (należy zdefiniowa ć jego metody equals() i compare()). Ten drugi sposób wykorzystujemy wówczas, gdy nie mamy dostępu do kodu klasy przechowywanych obiektów. Tablic ę możemy posortowa ć przy pomocy metody sort(), natomiast przeszuka ć j ą możemy za pomoc ą metody binarysearch(). Kopiowanie tablic najlepiej przeprowadzi ć za pomoc ą metody arraycopy(), która jest metod ą statyczn ą klasy System (nie należy ona do klasy kontenerem 3, który zna klas ę obiektów, które przechowuje (notabene tablice w Javie te ż s ą obiektami). Arrays). Na zakończenie należy zaznaczy ć, że tablica jest jedynym 3. Strumienie 1 import java.io.*; 2 import java.util.*; 3 4 class Rekurencja { 5 private File sciezka; 6 7 public Rekurencja(String nazwa) { 8 sciezka = new File(nazwa); 9 } public void start() { 12 walk(sciezka,""); 13 } private void walk(file plik,string indent) { 16 String[] lista; 17 File[] pliki; lista = plik.list(); 20 pliki = plik.listfiles(); 21 for(int i=0; i<lista.length;i++) 22 System.out.println(indent+lista[i]); 23 indent+=" "; 24 for(int i=0; i<pliki.length;i++) Zbiór klas umożliwiających realizację operacji wejścia wyjścia w Javie jest bardzo duży. Od wersji 1.4 jest on wzbogacony o pakiety klas umożliwiających wykonywanie operacji niskopoziomowych na danych znajdujących si ę w pliku lub innym zasobie. Te pakiety nie będ ą jednak przedstawione na tym wykładzie. Zajmiemy si ę jedynie operacjami wysokopoziomowymi, które umożliwiają nam klasy zgromadzone w pakiecie java.io. Pierwsz ą klas ą z tego pakietu, jaka zostanie tu omówiona jest klasa File. Klasa ta pozwala na przeprowadzanie takich operacji na plikach i katalogach, jak: tworzenie nowych plików i katalogów, przeglądanie katalogów, zmian ę nazwy, usunięcie pliku, obsługę ścieżki do pliku lub katalogu, obsługę atrybutów plików. Oto krótki przykład jak wykorzysta ć obiekt takiej klasy do rekurencyjnego wypisania zawartości bieżącego katalogu: Klasa Rekurencja posiada pole sciezka, które jest klasy File. W konstruktorze tej klasy Rekurencja tworzony jest obiekt klasy File. Przez parametr nazwa przekazywana będzie ścieżka dostępu do pliku, z którym będzie związany ten obiekt (w przypadku tego programu będzie to katalog bieżący). Metoda start() rozpoczyna przeszukiwanie tego katalogu, wywołując metod ę walk(). Ta 3 To stwierdzenie jest prawdziwe dla wersji Javy wcześniejszych ni ż 5. 2
3 25 if(pliki[i].isdirectory() && pliki[i].canread()) { 26 System.out.println(pliki[i].getName()+":"); 27 walk(pliki[i],indent); 28 } 29 } 30 } public class Katalogi { 33 public static void main(string[] args) { 34 Rekurencja r = new Rekurencja("."); 35 r.start(); 36 } 37 } ostatnia jest metod ą rekurencyjn ą. Najpierw zapisuje ona referencj ę do tablicy nazw plików w zmiennej lokalnej lista, a następnie w referencji pliki zapisuje adres tablicy obiektów klasy File związanych z tymi plikami. W pierwszej pętli for wypisywane s ą nazwy plików znajdujących si ę w bieżącym katalogu, w drugiej przeglądania jest tablica obiektów klasy File i sprawdzane jest, które z nich są katalogami i czy można te katalogi przeczyta ć (czy program ma do tego uprawnienia). Dla każdego z tych obiektów wywoływana jest rekurencyjnie metoda walk(). Obiekt klasy Rekurencja tworzony jest w klasie publicznej w metodzie main. Konstruktorowi tego obiektu przekazywana jest nazwa katalogu bieżącego, czyli kropka (.). Jeśli za pomoc ą metod klasy File, chcielibyśmy wyświetli ć pliki, których nazwy pasuj ą do ustalonego przez nas wzorca, to do metody list() powinniśmy przekaza ć obiekt klasy, która implementuje interfejs FilenameFilter i zdefiniowa ć jego metod ę accept, która jest deklarowana następująco: boolean accept(file dir, String name); Klasa implementująca ten interfejs może by ć klas ą anonimow ą. Klasy realizujące operacje wejścia wyjścia w Javie zakładaj ą, że zarówno źródłem jak i ujściem danych s ą strumienie. Strumie ń jest abstrakcją oznaczając ą dowolny element mogący pobiera ć lub przyjmowa ć dane. W Javie, w pakiecie java.io można wyróżni ć trzy grupy klas. Pierwsza grupa związana jest z operacjami binarnymi (nazywanymi równie ż bajtowymi), druga jest związana z operacjami znakowymi (uwzględnia kodowanie za pomoc ą standardu Unicode), natomiast trzecia grupa umożliwia zapis i odczyt obiektów. Podstawowymi klasami pozwalającymi na realizację odczytu i zapisu bajtowego s ą klasy InputStream i OutputStream 4. Jak łatwo si ę domyśli ć metod ą służąc ą do odczytania pojedynczego bajta w klasie InputStream jest metoda read(), natomiast do zapisu pojedynczego bajta w drugiej z wymienionych klas jest write(). Z tych klas wywodzą si ę inne, które związane s ą z obsług ą poszczególnych rodzajów źróde ł i uj ść. Te klasy zostały zestawione poniżej w tabelę 5 : ByteArrayInputStream Klasa Sposób działania Źródłem danych jest tablica znajdująca si ę w pamięci operacyjnej. Sposób użycia Parametrem wywołania konstruktora jest referencja do tablicy z której będ ą pobierane dane. Powinno si ę używa ć razem z obiektami FilterInputStream. StringBuffferInputStream Wykonuje konwersj ę łańcucha znaków do obiektu klasy InputStream. Parametrem wywołania konstruktora jest referencja do obiektu klasy String. Również należy używa ć z obiektami klasy FilterInputStream. FileInputStream Umożliwia odczyt danych z pliku. Argumentem wywołania konstruktora jest łańcuch znaków reprezentujący ścieżkę dostępu do pliku, lub obiekt klasy File związany z tym plikiem lub klasy FileDescriptor. Podobnie jak poprzednio powinno si ę używa ć z obiektami klasy FilterInputStream. PipedInputStream Umożliwia odczyt danych z potoku nienazwanego (ang. pipe) Parametrem wywołania konstruktora tej klasy jest obiekt klasy PipedOutputStream. Obiekty tej klasy s ą używane w aplikacjach wielowątkowych, jako środki umożliwiające komunikacj ę między wątkami. Reszta jak wyżej. 4 Klasy InputStream i OutputStream s ą klasami abstrakcyjnymi, więc wszędzie tam, gdzie będzie mowa o obiektach tych klas, będziemy mie ć na myśli obiekty jej klas pochodnych. 5 Tabela ta jest utworzona na podstawie Thinking in Java Bruce'a Eckela. 3
4 Klasa Sposób działania Sposób użycia SequenceInputStream Pozwala połączy ć pewn ą liczb ę strumieni wejściowych w jeden strumie ń. Argumentami wywołania s ą dwa obiekty klasy InputStream lub kontener klasy Enumeration zawierający takie obiekty. FilterInputStream Jest to klasa abstrakcyjna służąca za klasę bazow ą dla klas obiektów dekoratorów, obiektów klasy InputStream i pochodnych, które zostan ą opisane później. ByteArrayOutputStream Tworzy bufor w pamięci, do którego będą zapisane dane. Parametr konstruktora jest opcjonalny i określa początkowy rozmiar bufora. Obiekty tej klasy powinny by ć połączone z obiektami klasy FilterOutputStream. FileOutputStream Zapisuje dane do pliku. Argumentem wywołania konstruktora jest łańcuch znaków reprezentujący ścieżkę dostępu do pliku, lub obiekt klasy File związany z tym plikiem lub klasy FileDescriptor. Podobnie jak poprzednio należy używa ć z obiektami klasy FilterOutputStream. PipedOutputStream Umożliwia zapis danych do potoku nienazwanego (ang. pipe) Parametrem wywołania konstruktora tej klasy jest obiekt klasy PipedInputStream. Obiekty tej klasy s ą używane w aplikacjach wielowątkowych, jako środki umożliwiające komunikacj ę między wątkami. Reszta jak wyżej. FilterOutputStream Jest to klasa abstrakcyjna służąca za klasę bazow ą dla klas obiektów dekoratorów, obiektów klasy OutputStream i pochodnych, które zostan ą opisane później. W większości aplikacji napisanych w Javie, aby utworzy ć reprezentacj ę pojedynczego strumienia wejściowego lub wyjściowego tworzy si ę niej jeden lecz kilka obiektów. Pierwszy z tych obiektów jest obiektem której ś z klas wymienionych wyżej, natomiast pozostałe obiekty są dekoratorami, które zwiększaj ą funkcjonalno ść strumienia. Oto zestawienie tych dekoratorów 6 : Klasa Działanie Sposób użycia DataInputStream Umożliwia odczyt danych prostych typów w sposób niezależny od ich faktycznego zapisu w danym systemie. Jego metody, to np.: readbyte(), readfloat(). Argumentem wywołania konstruktora jest obiekt klasy InputStream. BufferedInputStream LineNumberInputStream Używany, w celu przyspieszenia operacji odczytu ze strumienia poprzez zbuforowanie danych. Śledzi numery wierszy w strumieniu wejściowym. Do jego metod nale żą: getlinenumber() i setlinenumber(int) Argument konstruktora taki sam, jak wyżej. Dodatkowy argument może określa ć rozmiar bufora. Obiekty tej klasy nie dostarczają własnych interfejsów. Argument wywołania konstruktora jak poprzednio. Zapewnia numerowanie wierszy. PushBackInputStream DataOutputStream Tworzy bufor o rozmiarze jednego bajta, pozwalający na cofnięcie do strumienia ostatniego odczytanego baja. Umożliwia zapis danych podstawowych typów do strumienia niezależny od platformy. Przykładowe metody: writebyte(), writefloat(). Argument konstruktora jak wyżej. Używany w tworzeniu kompilatorów i innych programów realizujących analiz ę leksykaln ą wejścia. Argumentem konstruktora jest obiekt klasy OutputStream. 6 Na podstawie Thinking in Java Bruce'a Eckela. 4
5 Klasa Działanie Sposób użycia PrintStream Formatuje dane wyjściowe, decydując o sposobie ich wyświetlania Argument konstruktora jak wyżej. Opcjonalny drugi argument typu boolean określa, czy bufor związany ze strumieniem jest opróżniany po każdej operacji zapisu. BufferOutputStream Buforuje dane do zapisu. Można wymusi ć ich zapisanie wywołując metod ę flush() obiektu tej klasy. Argumentem wywołania konstruktora jest obiekt klasy OutputStream i opcjonalnie rozmiar bufora. Oto przykład realizujący bajtowy odczyt danych z pliku: 1 import java.io.*; 2 class Odczyt { 3 private FileInputStream fs; 4 5 public Odczyt(String s) { 6 try { 7 fs = new FileInputStream(new File(s)); 8 }catch(filenotfoundexception e) { 9 e.printstacktrace(); 10 System.err.println(e.getLocalizedMessage()); 11 }catch(exception e) { 12 e.printstacktrace(); 13 System.err.println(e.getLocalizedMessage()); 14 } 15 } public void czytaj() throws IOException { 18 try { 19 int a; 20 while((a=fs.read())!=-1) System.out.print(a); 21 System.out.println(); 22 }catch(ioexception e) { 23 e.printstacktrace(); 24 System.err.println(e.getLocalizedMessage()); 25 }catch(exception e) { 26 e.printstacktrace(); 27 System.err.println(e.getLocalizedMessage()); 28 }finally { 29 fs.close(); 30 } 31 } 32 } 33 5
6 34 public class OdczytBinarny { 35 public static void main(string[] args) { 36 Odczyt o = new Odczyt("OdczytBinarny.java"); 37 try { 38 o.czytaj(); 39 }catch(ioexception e) { 40 e.printstacktrace(); 41 System.err.println(e.getLocalizedMessage()); 42 }catch(exception e) { 43 e.printstacktrace(); 44 System.err.println(e.getLocalizedMessage()); 45 } 46 } 47 } Odczyt i zapis znakowy realizowany jest przez inne klasy, których funkcjonalno ść odpowiada przedstawionym wyżej klasom. Do tych klas nale żą: Reader, Writer, FileReader, FileWriter, StringReader, StringWriter, CharArrayReader, CharArrayWriter, PipedReader i PipedWriter. Dodatkowo istniej ą klasy umożliwiające konwersj ę strumieni z bajtowych na znakowe. S ą to InputStreamReader i OutputStreamWriter. Klasy odczytu i zapisu znakowego posiadaj ą równie ż własne dekoratory: FilterReader, FilterWriter, BufferReader, BufferWriter, PrintWriter, LineNumberReader, PushBackReader i StreamTokenizer. Ostatni dekorator służy do rozpoznawania wzorców w odczytywanych ze strumienia danych i od wersji 1.4 Javy w dużej mierze zosta ł zastąpiony przez klasy realizujące rozpoznawanie wzorców ( ang. pattern matching). Oto dwa przykłady użycia pokazujące w jaki sposób skorzysta ć ze znakowych operacji odczytu. Pierwszy czyta dane z pliku, natomiast drugi konwertuje strumie ń związany ze standardowym wejściem na strumie ń znakowy i wypisuje jego zawarto ść na ekran: 1 import java.io.*; 2 class Odczyt { 3 private FileReader fs; 4 5 public Odczyt(String s) { 6 try { 7 fs = new FileReader(s); 8 }catch(filenotfoundexception e) { 9 e.printstacktrace(); 10 System.err.println(e.getLocalizedMessage()); 11 }catch(exception e) { 12 e.printstacktrace(); 13 System.err.println(e.getLocalizedMessage()); 14 } 15 } public void czytaj() throws IOException { 18 try { 19 char a; 20 while((a=(char)fs.read())!=(char)-1) System.out.print(a); 6
7 21 System.out.println(); 22 }catch(ioexception e) { 23 e.printstacktrace(); 24 System.err.println(e.getLocalizedMessage()); 25 }catch(exception e) { 26 e.printstacktrace(); 27 System.err.println(e.getLocalizedMessage()); 28 }finally { 29 fs.close(); 30 } 31 } 32 } public class OdczytZnakowy { 35 public static void main(string[] args) { 36 Odczyt o = new Odczyt("OdczytZnakowy.java"); 37 try { 38 o.czytaj(); 39 }catch(ioexception e) { 40 e.printstacktrace(); 41 System.err.println(e.getLocalizedMessage()); 42 }catch(exception e) { 43 e.printstacktrace(); 44 System.err.println(e.getLocalizedMessage()); 45 } 46 } 47 } import java.io.*; public class Input { public static void main(string[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { System.out.println(br.readLine()); } catch(exception e) { e.printstacktrace(); } } } 7
8 Kolejny przykład pokazuje w jaki sposób uży ć dekoratora BufferReader do odczytu pliku: 1 import java.io.*; 2 class Odczyt { 3 private BufferedReader br; 4 5 public Odczyt(String s) { 6 try { 7 br = new BufferedReader(new FileReader(s)); 8 }catch(filenotfoundexception e) { 9 e.printstacktrace(); 10 System.err.println(e.getLocalizedMessage()); 11 }catch(exception e) { 12 e.printstacktrace(); 13 System.err.println(e.getLocalizedMessage()); 14 } 15 } public void czytaj() throws IOException { 18 try { 19 String a; 20 while((a=br.readline())!=null) System.out.println(a); 21 System.out.println(); 22 }catch(ioexception e) { 23 e.printstacktrace(); 24 System.err.println(e.getLocalizedMessage()); 25 }catch(exception e) { 26 e.printstacktrace(); 27 System.err.println(e.getLocalizedMessage()); 28 }finally { 29 br.close(); 30 } 31 } 32 } public class OdczytBuforowany { 35 public static void main(string[] args) { 36 Odczyt o = new Odczyt("OdczytBuforowany.java"); 37 try { 38 o.czytaj(); 39 }catch(ioexception e) { 40 e.printstacktrace(); 8
9 41 System.err.println(e.getLocalizedMessage()); 42 }catch(exception e) { 43 e.printstacktrace(); 44 System.err.println(e.getLocalizedMessage()); 45 } 46 } 47 } Opisane wyżej klasy słu żą do realizacji operacji wejścia wyjścia na zasadzie dostępu sekwencyjnego, jeśli jest nam potrzebny dostęp swobodny, możemy skorzysta ć z metod klasy RandomAccesFile. Java standardowo zawiera równie ż klasy umożliwiające zapis i odczyt plików skompresowanych. Istniej ą równie ż dwie klasy, związane ze strumieniami binarnymi (bajtowymi), które umożliwiaj ą zapis i odczyt obiektów. Takie operacje nazywa si ę operacjami serializacji obiektów. Te klasy to ObjectInputStream i ObjectOutputStream. Pierwsza posiada metodę readobject(), druga writeobject(). Aby obiekt móg ł by ć zapisany do strumienia jego klasa musi implementowa ć interfejs Serializable, który nie deklaruje żadnej metody, a pełni tylko funkcj ę znacznika, wskazującego, że obiekt danej klasy może by ć zapisany lub odczytany ze strumienia. Należy pamięta ć o tym, że metoda readobject() zwraca referencj ę klasy Object, a więc konieczne jest rzutowanie w dó ł, aby odtworzy ć właściwą klas ę obiektu. Jeśli nie chcemy, aby pewne informacje przechowywane w polach obiektu były zapisywane w pliku, to takie pole deklarujemy z użyciem słowa kluczowego transient. Inn ą metoda polega na implementowaniu interfejsu Externalizable zamiast Serializable i zdefiniowaniu jego metod writeexternal() i readexternal(), w których trzeba zawrze ć kod odpowiedzialny za zapis poszczególnych pól obiektu. 9
Biblioteki wejścia/wyjścia. Strumienie we/wy (I/O)
Biblioteki wejścia/wyjścia Strumienie we/wy (I/O) Pojęcie strumienia Strumień reprezentuje źródło lub odbiorcę danych (obiekt zdolny odbierać lub produkować dane). Strumień ukrywa szczegóły związane z
Bardziej szczegółowoStrumienie i serializacja
Strumienie i serializacja Prezentacja dostępna na Syriuszu: http://sirius.cs.put.poznan.pl/~inf80156 Klasy: InputStream, OutputStream, Reader i Writer W Javie hierarchia strumieni oparta jest o cztery
Bardziej szczegółowoWykład 4: Wejście/wyjście: strumienie Java
PK1 2006_2018 Walery Susłow Programowanie komputerów Wykład 4: Wejście/wyjście: strumienie Java dr inż. Walery Susłow walery.suslow@tu.koszalin.pl Wejście/wyjście Podstawowy mechanizm wejścia-wyjścia znajduje
Bardziej szczegółowoKurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016
Wykład 10 05 maja 2016 Biblioteka wejścia/wyjścia (Input/Output) import java.io.*; Umożliwia przechowywania danych na nośniku zewnętrznym Dane moga być wysyłane do plików, na drukarkę, do bufora pamięci,
Bardziej szczegółowoJAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt
JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia
Bardziej szczegółowoSTRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW
STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW 1. Procedura korzystania ze strumieni danych Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np.
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream
Bardziej szczegółowoProgramowanie Obiektowe (Java)
1. Wprowadzenie do kontenerów Wykład ósmy Kontenery s ą obiektami, które potrafi ą przechowywa ć inne obiekty w określony sposób. O kontenerach można myśle ć jako o gotowych do użycia strukturach danych.
Bardziej szczegółowoRozdział 7 Strumienie, operacje wejścia-wyjścia
Rozdział 7 Strumienie, operacje wejścia-wyjścia 7.1 Strumienie 7.2 Standardowe obsługa wejścia-wyjścia - klasy InputStream oraz OutputStream 7.2.1 Obsługa wejścia klasa InputStream 7.2.2 Obsługa wejścia
Bardziej szczegółowoStrumienie, pliki. Sortowanie. Wyjątki.
Strumienie, pliki. Sortowanie. Wyjątki. Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy Delimiter ustawiamy
Bardziej szczegółowoPodstawy otwartych języków programowania Wyjątki i strumienie I/O
Podstawy otwartych języków programowania Wyjątki i strumienie I/O Wiktor Wandachowicz Wyjątki Podstawą filozofii Javy jest założenie, że: źle sformułowany kod nie zostanie wykonany Wyjątki są mechanizmem
Bardziej szczegółowodr Krzysztof Podlaski
dr Krzysztof Podlaski Wydział Fizyki i Informatyki Stosowanej 19.11.2010 Łódź Wstęp do Java, wykład 3 1 Biblioteki standardowe Obszerny zestaw Klas i Interfejsów Obsługa Strumieni We-Wy Dysków Sieci java.io,
Bardziej szczegółowoJava niezbędnik programisty spotkanie nr 11. Importy statyczne, wejście/wyjście, wyrażenia regularne, serializacja
Java niezbędnik programisty spotkanie nr 11 Importy statyczne, wejście/wyjście, wyrażenia regularne, serializacja 1 Importowanie składowych statycznych Opracował Import static java.lang.system.out; //import
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoProgramowanie w języku Java WYKŁAD
Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 31.03.2014 WYKŁAD 6 Operacje we/wy Operacje we/wy
Bardziej szczegółowoWstęp do Java. Operacje Wejścia-Wyjścia Programowanie Wielowątkowe. dr Krzysztof Podlaski. Wydział Fizyki i Informatyki Stosowanej
Wstęp do Java Operacje Wejścia-Wyjścia Programowanie Wielowątkowe dr Krzysztof Podlaski Wydział Fizyki i Informatyki Stosowanej 19.03.2015 Łódź 1 Obsługa procesów We-Wy Biblioteki standardowe Obszerny
Bardziej szczegółowoJava Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.
Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.
Bardziej szczegółowoWykład 10: Wejście i Wyjście
Wykład 10: Wejście i Wyjście Pakiet java.io. Wejście/Wyjście Program realizuje wejście/wyjście przez użycie potoku. Ten sam sposób obsługi różnych urządzeń: konsola klawiatura plik na dysku gniazdko sieciowe,
Bardziej szczegółowoPrzygotował: Jacek Sroka 1. Java SE. Strumienie
Przygotował: Jacek Sroka 1 Java SE Strumienie Przygotował: Jacek Sroka 2 Wielkość systemu we/wy Różne media konsola, pliki, połączenia sieciowe, łącza między procesami, itp. Różne sposoby sekwencyjnie,
Bardziej szczegółowoSTRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE
STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE 1) Strumienie tekstowe wejściowe wprowadzanie danych Procedura korzystania ze strumieni tekstowych wejściowych
Bardziej szczegółowoWykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowo1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach
Programowanie w j zyku Java - Adam Krechowicz 1 Klasa File Klasa File zapewnia podstawowe operacje na plikach import java.io.file; public class FileTest { File f = new File("/home/adam/abc.txt"); f.createnewfile();
Bardziej szczegółowoPlatformy Programistyczne Zagadnienia sieciowe i wątki
Platformy Programistyczne Zagadnienia sieciowe i wątki Agata Migalska 27/28 maja 2014 Komunikacja sieciowa 1 Komunikacja sieciowa 2 Wiele wątków 3 Serializacja Architektura typu klient-serwer Architektura
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 10: Strumienie we/wy 5/13/2013 S.Deniziak:Programowanie obiektowe 1 Zarządzanie systemem plików klasa File (pakiet java.io) np. File path=new File(. ); Metody: list(), getname(),
Bardziej szczegółowoJę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ółowoStrumienie, pliki. Sortowanie. Wyjątki.
Strumienie, pliki. Sortowanie. Wyjątki. Operacje I/O w Javie Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 9 Serializacja Przygotował: Jacek Sroka 2 Przypomnienie Abstrakcja strumienia hierarchia binarna InputStream/OutputStream hierarchia znakowa Reader/Writer
Bardziej szczegółowoInynieria oprogramowania Lecture XXX. Java TM cz IV: IO. Bartosz Walter
Inynieria oprogramowania Lecture XXX Java TM cz IV: IO Bartosz Walter Plan Klasa java.io.file Strumienie tekstowe Strumienie standardowe Properties Wprowadzenie pakiet java.io.*;
Bardziej szczegółowoAplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 11: Serializacja obiektów 5/19/2013 S.Deniziak:Programowanie obiektowe 1 Problem składowania/przesyłania danych Strumienie Tylko typy proste Konieczność ręcznego odtwarzania
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 8 Strumienie Przygotował: Jacek Sroka 2 Przypomnienie Reagowanie na sytuacje wyjątkowe Wyjątki nadzorowane i nienadzorowane Obsługa wyjątku try
Bardziej szczegółowoObszar 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ółowoJęzyki i metody programowania Java INF302W Wykład 4
Języki i metody programowania Java INF302W Wykład 4 Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Strumienie binarne i tekstowe niebuforowane i buforowane, obsługa plików tekstowych, wprowadzanie
Bardziej szczegółowoKOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA
Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika KOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Komunikacja
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Bardziej szczegółowoMATERIAŁY POMOCNICZE DO ĆWICZENIA 3 Klasy i obiekty; atrybuty i metody
MATERIAŁY POMOCNICZE DO ĆWICZENIA 3 Klasy i obiekty; atrybuty i metody Java jest językiem obiektowym. Wartości typów innych niż proste są obiektami określonych klas. Obiekty stanowią instancje klas, których
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoProgramowanie 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ółowoPodstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
Bardziej szczegółowoK O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA
Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika K O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska
Bardziej szczegółowoProgramowanie 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ółowoJęzyki i metody programowania Java INF302W Wykład 3 (część 1)
Języki i metody programowania Java INF302W Wykład 3 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 3, część 1 1 STRUKTURA WYKŁADU 1. Wyjątki,
Bardziej szczegółowoPodstawy obiektowości
Podstawy obiektowości Zad. Zamówienie 1. Napisać program do obsługi zamówień. Program powinien składać się z dwóch klas: Zamowienie oraz Pozycja, przy czym każde zamówienie zawierać może jedną lub więcej
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie 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ółowoJęzyk JAVA podstawy. Wykład 6, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 6, część 1 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream
Bardziej szczegółowoKlasy. 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ółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowoJAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html
JAVA I SIECI ZAGADNIENIA: URL, Interfejs gniazd, transmisja SSL, protokół JNLP. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoDokumentacja 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ółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowoJava. 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ółowoProgramowanie 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ółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Bardziej szczegółowoPodstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
Bardziej szczegółowoSystem obsªugi wej±cia i wyj±cia.
System obsªugi wej±cia i wyj±cia. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 6.04.2017 Java I/O Java I/O (Input and Output) - jest to zaawansowany
Bardziej szczegółowoWykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
Bardziej szczegółowoKatalog książek cz. 2
Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
Bardziej szczegółowoProgramowanie 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ółowoKurs 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ółowoJęzyki i Techniki Programowania II. Wykład 6. Wejście/Wyjście
Języki i Techniki Programowania II Wykład 6 Wejście/Wyjście Podstawowy podział strumieni Strumienie: Bajtowe: (Stream) Wejściowe (InputStream, FilterInputStream...) Wyjściowe (OutputStream, FilterOutputStream...)
Bardziej szczegółowoProgramowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]
Programowanie w Javie Lista nr 1 1. Jak uruchomić pierwszy program w Javie? Przykład przy wykorzystaniu NetBeans: File->New Project Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]
Bardziej szczegółowoInterfejsy. 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ółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
Bardziej szczegółowoAplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Bardziej szczegółowoWspół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ółowoBezpieczne uruchamianie apletów wg
Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,
Bardziej szczegółowoWykład 4. Tablice. Pliki
Informatyka I Wykład 4. Tablice. Pliki Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada
Bardziej szczegółowoWykł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ółowoJAVA 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ółowoWprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.
-1-1. Wyjątki 2. Przykładowe zadania Wyjątki Wyjątek w Java jest obiektem, który opisuje sytuację błędną powstałą w kodzie. Zaistnienie sytuacji błędnej w metodzie powoduje utworzenie obiektu reprezentującego
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Standardowa biblioteka szablonów (Standard Template
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoWykład 2. Strumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni poprzez sieć - obiekty URL
Wykład 2 Strumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni poprzez sieć - obiekty URL 1. Procedura korzystania ze strumieni tekstowych wejściowych powiązanych ze standardowym
Bardziej szczegółowoObiektowe 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ółowoWSNHiD, Programowanie 2, Lab. 3. Trwałość danych
WSNHiD, Programowanie 2, Lab. 3 Trwałość danych Wyjątki Nietypowe sytuacje, które podczas normalnego wykonywania programu nie powinny się wydarzyć obsługiwane są w języku Java za pomocą wyjątków. Przyjrzyjmy
Bardziej szczegółowoProgramowanie w języku Java (OCA+OCP)
Kod szkolenia: Tytuł szkolenia: OCAP Programowanie w języku Java (OCA+OCP) Przygotowanie do uzyskania certyfikatów OCAJP oraz OCPJP Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do osób chcących
Bardziej szczegółowoPodstawy otwartych języków programowania Przechowywanie danych
Podstawy otwartych języków programowania Przechowywanie danych Wiktor Wandachowicz Sposoby przechowywania danych Typy podstawowe Pojedyncze obiekty Tablice obiektów i tablice typów podstawowych jednowymiarowe
Bardziej szczegółowoMultimedia 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ółowoKLASY, INTERFEJSY, ITP
KLASY, INTERFEJSY, ITP ZAGADNIENIA: Klasy, modyfkatory dostępu, pakiety. Zmienne i metody statyczne. Klasy abstrakcyjne, dziedziczenie. Interfejsy. Komentarze i javadoc, http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoKorzystanie z bibliotek standardowych
Korzystanie z bibliotek standardowych Java posiada bogatą bibliotekę standardowych pakietów, i tak do podstawowych naleŝą: java.lang - jest, podstawowym pakietem języka Java, domyślnie importowanym dla
Bardziej szczegółowoJava 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ółowoAplikacje 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ółowoAplikacja wielow tkowa prosty komunikator
Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoZaawansowane techniki programowania C#
Wykład 2 Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 18 października 2017 służą do informowania o niepowodzeniu pewnego elementu programu, dawniej używano tzw.
Bardziej szczegółowoProgramowanie Obiektowe Java
Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Operacje wejścia-wyjścia strumienie Pakiety IO Java dostarcza dwóch podstawowych
Bardziej szczegółowoInterfejsy i klasy wewnętrzne
Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw
Bardziej szczegółowoSposoby 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ółowoPrototype (prototyp) Cel: Przykład: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp.
1/14 Prototype (prototyp) Cel: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp. Przykład: Edytor 3D klient tworzy obiekty różnych kształtów
Bardziej szczegółowoKonstruktory. 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ółowoProgramowanie 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ółowoJAVA. 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ółowoPodejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne
Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne import javax.swing.*; import java.util.*; public class Napis4 { String wynik = ""; static int ile_obiektow
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 2 (część 1)
Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja
Bardziej szczegółowo