1 / 15

Java – coś na temat Klas Piotr Rosik 132808

Java – coś na temat Klas Piotr Rosik 132808. Klasy. Wygląd klasy: [modyfikatory] class NazwaKlasy { /*ciało klasy */} W Javie modyfikatory możemy podzielić na dwa rodzaje: a) modyfikatory dostępu (private, protected, public, package)

aderes
Download Presentation

Java – coś na temat Klas Piotr Rosik 132808

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java – coś na temat Klas Piotr Rosik 132808

  2. Klasy • Wygląd klasy: • [modyfikatory] class NazwaKlasy { /*ciało klasy */} • W Javie modyfikatory możemy podzielić na dwa rodzaje: a) modyfikatory dostępu (private, protected, public, package) • public - wszystkie klasy mają dostęp do pól danych i metod public, • private -dostęp do metod i pól danych posiadają jedynie inne metody tej samej klasy, • protected - metoda lub pole danych protected lub może być używana jedynie przez metody swojej klasy oraz metody wszystkich jej klas pochodnych, • package - jest to modyfikator domyślny, wszystkie metody i pola danych bez modyfikatora dostępu traktowane są jako typu package. Metody (lub pola danych) typu package mogą być używane przez inne klasy danego pakietu.

  3. b) Modyfikatory właściwościmodyfikowanego elementu • możemy używać modyfikatorów: • public, • abstract, • final.

  4. Class Dane{ int i; float f; } Możemy stworzyć obiekt: Dane d = new Dane(); Odwolanie: d.i = 45; d.f = 4.1f; Wartości domyślne dla składowych typu podstawowego: Obiekt klasy

  5. Statyczne pola danych i metody • Pole danych lub metoda zadeklarowana z modyfikatorem static • deklaracja oznacza, że pole danych lub metoda dotyczy klasy, a nie obiektu • Odwołanie do statycznego pola danych może mieć postać: NazwaKlasy.PoleDanych, a dla metod statycznych NazwaKlasy.Metoda()

  6. class KontoOsobiste { static byte Oprocentowanie = 10; private Osoba Wlasciciel; ... static void ZmienOprocentowanie(byte nowyProcent) { Oprocentowanie = nowyProcent; } } public static void main(String[] args) { KontoOsobiste.Oprocentowanie = 20; KontoOsobiste rachunek = new KontoOsobiste(); rachunek.ZmienOprocentowanie(40); KontoOsobiste.ZmienOprocentowanie(30); } Odwołanie do metod i zmiennych typu static

  7. Konstruktor • konstruktor zostaje wywołany podczas tworzenia nowego obiektu klasy • metodą o nazwie identycznej, jak nazwa klasy(ważna jest wielkość liter) • każda klasa może posiadać wiele konstruktorów, różniących się listą argumentów

  8. public class Punkt { public int X; public int Y; } Punkt A = new Punkt(); public class Punkt { public int nX; public int nY; public Punkt(int X, int Y) { nX=X; nY=Y; } } Punkt P = new Punkt (4,5); Konstruktor

  9. Przeciążanie konstruktora • nazwa konstruktora jest zdeterminowana wcześniej przez nazwę klasy, może istnieć tylko jedna taka nazwa • Konstruktory tej samej klasy różnią się unikatową listą argumentów

  10. Słowo kluczowe this oznacza referencję do "samego siebie", czyli do obiektu, przez który został wywołany. public class Leaf { int i = 0; Leaf increment() { i++; return this; } void print() { System.out.println("i = " + i); } public static void main(String[] args) { Leaf x = new Leaf(); x.increment().increment().increment().print(); } } } Służy również do wywoływania konstruktorów z konstruktorów W konstruktorze podanie słowa kluczowego this oraz listę argumentów, to spowoduje wywołanie konstruktora, do którego pasuje ta lista Nie można dwukrotnie wywołać„this” Nie można użyć „this” poza konstruktorem w celu wywołania innego konstruktora this

  11. Rodzaje klas • Klasa finalna • Nie można z niej dziedziczyć i nie pozwalamy, aby z niej dziedziczono • Wszystkie jej metody automatycznie stają się finalne

  12. Rodzaje klas c.d. • Klasa abstrakcyjna • Klasa zawierająca metody abstrakcyjne nazywana jest klasą abstrakcyjną • Nie mamy możliwości bezpośredniego tworzenia obiektów danej klasy

  13. Klasy wewnętrzna • Klasa wewnętrzna – klasa wewnątrz innej definicji klasy. • Posiada prawo dostępu do wszystkich elementów klasy je otaczającej, • obiekt klasy wew. Zawiera specjalny lacznik z obiektem klasy zewnętrznej, • mogą mieć modyfikator static.

  14. Klasa anonimowa • klasa bez nazwy i konstruktora, • definiowana za pomocą wyrażenia postaci: • new NazwaNadKlasy(arg, arg, ...){...};

  15. Bibliografia • Thinking in Java – Bruce Eckel • http://republika.pl/arturt/java/index.htm - Artur Tyloch

More Related