Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Wstęp do strumieni danych
C++ wykład 2 ( ) Klasy i obiekty.
C++ wykład 4 ( ) Przeciążanie operatorów.
Programowanie obiektowe
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Mgr inż.Marcin Borkowski Podstawy Java Część II
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Wzorce.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Static, const, volatile.
PROGRAMOWANIE STRUKTURALNE
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
formatowanie kodu źródłowego
Nguyen Hung Son Uniwersytet Warszawski
Programowanie obiektowe w Javie
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
Inżynieria oprogramowania Lecture XXX JavaTM – część IV: IO
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
WPROWADZENIE DO JĘZYKA JAVA
Tablice.
Biblioteki i przestrzenie nazw
C++ wykład 2 ( ) Klasy i obiekty.
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
Ogólne jednostki programowe 1
Wykład 2 struktura programu elementy języka typy zmienne
Java – programowanie obiektowe
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Dr Anna Kwiatkowska JAVA dr Anna Kwiatkowska
Język Java Wielowątkowość.
AWK Zastosowania Informatyki Wykład 1 Copyright, 2003 © Adam Czajka.
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
TABLICE C++.
Generator analizatorów leksykalnych
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
Seminarium problemowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Java 3 MPDI Programowanie obiektowe W5. Java - obiektowy język programowania stworzony przez firmę Sun Microsystems. Java jest językiem tworzenia programów.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
Programowanie sieciowe w Javie
Projektowanie stron WWW
Podstawy języka Instrukcje - wprowadzenie
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Kurs języka C++ – wykład 4 ( )
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Podstawy programowania
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
Tworzenie dokumentacji w systemie Doxygen Paweł Strużyński 25 maja 2011.
Język Java Paweł Rajba
Wątki, programowanie współbieżne
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Programowanie obiektowe – zastosowanie języka Java SE
PGO Interfejsy Michail Mokkas.
Założenia projektowe Javy
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

Pakiety w Javie Łukasz Smyczyński (132834)

Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem biblioteki, zawierają klasy powiązane tematycznie. Pakiety mogą także zawierać definicje interfejsów.

Czym są pakiety? Pakiety umożliwiają oddzielenie naszego kodu od kodu bibliotek napisanych przez innych programistów. Głównym powodem stosowania pakietów jest gwarancja unikalności nazw klas. Wraz z JDK otrzymujemy dość pokaźną liczbę pakietów, zawierających w sumie kilka tysięcy klas.

Przegląd standardowych pakietów Java posiada bogatą biblioteką standardowych pakietów, i tak do podstawowych należą: java.lang: pakiet zawierający wszystkie podstawowe klasy Javy. Nie musi być jawnie importowany, ponieważ kompilator czyni to w sposób automatyczny. java.io: klasy implementujące operacje wejścia/wyjścia. java.util: pomocnicze klasy użytkowe (np. generacja liczb losowych, operacje na ciągach znaków, itp.)

Przegląd standardowych pakietów Java posiada bogatą biblioteką standardowych pakietów, i tak do podstawowych należą: java.net: zawiera klasy konieczne do tworzenia oprogramowania wykorzystującego sieć. Wraz z pakietem "java.io" umożliwia dostęp do sieci w celu ładowania lub wysyłania plików. java.awt: klasy służące do tworzenia graficznego interfejsu użytkownika (GUI). java.applet: pakiet zawierający klasy używane podczas tworzenia apletów.

Plik źródłowy w Javie Ogólna postać pliku źródłowego Javy wygląda następująco: pojedyncza instrukcja package (opcjonalna) dowolna liczba instrukcji import (opcjonalne) pojedyncza deklaracja klasy publicznej (wymagana) dowolna liczba klas prywatnych (opcjonalna)

Tworzenie pakietów Na samym początku pliku źródłowego Javy może znajdować się instrukcja package, informująca kompilator o nazwie pakietu, do którego mają należeć wszystkie zdefiniowane klasy. Pominięcie instrukcji package powoduje, że klasy z danego pliku są umieszczane w pakiecie domyślnym, nie posiadającym nazwy. Użyta instrukcja package musi stanowić w pliku pierwszy element nie będący komentarzem

Instrukcja package Ogólna postać instrukcji package wygląda następująco: package nazwapakietu; A więc jeśli instrukcja pakietu umieszczona jako pierwsza komenda pliku źródłowego, np. package mojpakiet; to: Wszystkie klasy w pliku należą do pakietu mojpakiet. Inne pliki mogą również posiadać tą instrukcję: pakiet rozkłada się bowiem na wiele plików. Wszystkie pliki.java są zapisywane w katalogu mojpakiet.

Hierarchia pakietów Można również tworzyć strukturę hierarchiczną pakietów, oddzielając ich nazwy za pomocą kropki. package pakiet1.pakiet2.pakiet3 Struktura pakietów musi być skorelowana ze strukturą katalogów na dysku, a więc pliki zachowywane są w katalogu pakiet1\pakiet2\pakiet3 system Windows pakiet1/pakiet2/pakiet3 system Linux Należy pamiętać o tym, że w Javie rozróżniane są małe i duże litery, zarówno w nazwach klas, jak i w nazwach plików i katalogów.

Zmienna CLASSPATH Istnieje możliwość umieszczania pakietów w różnych miejscach, o ile tylko ich struktura pokrywa się ze strukturą katalogów na dysku. Trzeba jednak również zmodyfikować zmienną środowiskową CLASSPATH, aby wskazywała ona na początek struktury, w której będziemy zapisywać nasze programy. Np. jeżeli nasz plik zawierający definicję pakietu mojpakiet znajduje się w C:\MyJava\mojpakiet to zmienna CLASSPATH powinna mieć wartość. ; C:\MyJava Kropka w powyższym zapisie oznacza katalog roboczy. Java poszukuje pakietów przeszukując kolejne katalogi wymienione w ścieżce CLASSPATH.

Pakiety: przykład package mojpakiet; public class StanKonta { String nazwa; double stankonta; public StanKonta (String n, double s) { nazwa = n; stankonta = s; } public void pokaz() { if (stankonta < 0) System.out.println (nazwa + ": " + stankonta + " zl"); }

Pakiety: przykład package mojpakiet; class Pakiet { public static void main (String[ ] args) { StanKonta biezacy [ ] = new StanKonta [6]; biezacy [0] = new StanKonta ("T.Bialy", ); biezacy [1] = new StanKonta ("J.Schmidt", ); biezacy [2] = new StanKonta ("A.Moraw", ); biezacy [3] = new StanKonta ("K.Milski", ); biezacy [4] = new StanKonta ("L.Podly", ); biezacy [5] = new StanKonta ("A.Bakow", ); for (int i=0 ; i<6 ; i++) biezacy[ i ].pokaz ( ); } J.Schmidt: zl K.Milski: zl L.Podly: zl

Jak nazywać pakiety? Nazwy pakietów skonstruowane są podobnie jak ścieżki dostępu do plików. Na przykład klasa Date znajdująca się w pakiecie java.util ma pełną nazwę: java.util.Date, co oznacza: - java - pakiet należy do zestawu standardowych pakietów Javy - util - to różnego typu klasy użytkowe (pomocnicze) - Date - konkretna nazwa klasy. Firma Sun zaleca, by w nazewnictwie klas niestandardowych przed właściwą nazwą pakietu stosować odwróconą nazwę domeny internetowej autora pakietu. Np. pl.wroc.pwr.kmeif.mylibrary (odwrócona kolejność!) Dzięki takiemu systemowi nazwy klas są niepowtarzalne, co pozwala uniknąć niejednoznaczności.

Korzystanie z pakietów Klasa może używać wszystkich klas ze swojego pakietu oraz wszystkich klas publicznych należących do innych pakietów. Istnieją dwa sposoby dostępu do klasy publicznej innego pakietu: 1) Możemy dołączyć pełną nazwę pakietu na początku każdej nazwy klasy, na przykład: java.util.Date dzisiaj = new java.util.Date(); Jest to jednak bardzo niepraktyczny sposób. 2) Możemy zaimportować konkretną klasę albo cały pakiet korzystając ze słowa kluczowego import.

Importowanie pakietów Słowo kluczowe import umożliwia bezpośrednie odwołanie się do klasy przez jej nazwę. Możemy zaimportować cały pakiet albo konkretną klasę. Umieszczamy w tym celu słowo import na początku pliku źródłowego (ale pod słowem package ), na przykład: import java.util.*; - cały pakiet java.util import java.util.Date; - konkretna klasa Nie trzeba importować pakietu java.lang, gdyż kompilator dołącza go automatycznie. Po zaimportowaniu możemy już używać Date dzisiaj = new Date();

Konflikty nazw Jeśli klasa o tej samej nazwie występuje w dwóch różnych importowanych do programu pakietach (np.klasa Date w poniższych pakietach): import java.util.*; import java.sql.*; to jeżeli użyjemy teraz klasy Date, otrzymamy błąd kompilacji, gdyż procesor nie potrafi określić której klasy Date chcemy użyć. Można rozwiązać ten problem stosując jeszcze jedno polecenie import java.util.Date; lub przez użycie pełnej nazwy pakietu, na przykład Java.util.Date termin = new java.util.Date();

package mojpakiet; public class StanKonta { String nazwa; double stankonta; public StanKonta (String n, double s) { nazwa = n; stankonta = s; } public void pokaz() { if (stankonta < 0) System.out.println (nazwa + ": " + stankonta + " zl"); } Importowanie klas: przykład

import mojpakiet.*; public class Imporotwanie { public static void main ( String args[] ) { StanKonta test = new StanKonta ("T.Biały",-12.57); test.pokaz( ); } T.Biały: zl

Literatura Patrick Naughton - Podręcznik języka programowania Java Bruce Eckel – Thinking in Java

Koniec Dziękuję za uwagę.