Klasy i obiekty

Klasa jest podstawowym elementem składowym każdej aplikacji zaimplementowanej w języku Java. W niewielkim uproszczeniu, program w Javie to właśnie pewien zbiór klas. Definicję każdej z klas umieszczamy w osobnym pliku, który to plik musi nazywać się tak samo jak klasa i mieć rozszerzenie java. Patrząc od drugiej strony, program napisany w Javie jest więc kolekcją plików z rozszerzeniem java, przy czym każdy z tych plików zawiera definicję klasy.

Powyższe wyjaśnienie jest pewnym uproszczeniem rzeczywistości, ale jest wystarczająco bliskie prawdzie, by póki co przyjąć że tak właśnie jest.

Klasa jest to definicja pewnego rodzaju bytów. Bytów które posiadają określone cechy, zachowanie i umiejętności. Pragmatycznie rzecz ujmując klasa to pewien nazwany zbiór metod i zmiennych.

Klasa jest definicją bytu, albo mówiąc inaczej typem bytu, ale dopiero instancja klasy, tj. obiekt, odzwierciedla konkretny byt.

Implementując aplikację w języku Java definiujemy nowe klasy, ale także – a może przede wszystkim – używamy klas bibliotecznych, tj. zaimplementowanych przez kogoś innego. Szczególną biblioteką, tj. zbiorem klas jest tzw. biblioteka standardowa. Biblioteka standardowa zawiera klasy implementujące podstawowe funkcjonalności, np. klasy umożliwiające manipulowanie plikami dyskowymi. Klasy biblioteki standardowej opisane są w ramach specyfikacji Java SE.

Poniższy fragment kodu demonstruje użycie klasy File pochodzącej z biblioteki standardowej (tj. z biblioteki Java SE). Klasa File reprezentuje dowolny zbiór dyskowy, tj. plik lub katalog. Aby sprawdzić czy zbiór dyskowy określony przez pewną ścieżkę dostępu – w naszym przypadku C:/mydir/file.txt – istnieje i czy jest to plik wystarczy utworzyć obiekt klasy File, a następnie wywołać na tym obiekcie metodę isFile(). Rezultat wywołania metody isFile() wykorzystujemy aby wyświetlić stosowny komunikat.

File file = new File("C:/mydir/file.txt");
  
if (file.isFile())
  System.out.println("Plik znaleziono!");
else
  System.out.println("Wskazany plik nie istnieje!");

 

0 0 votes
Daj ocenę