java5.pdf
(
45 KB
)
Pobierz
Tablice
Java – tworzenie klas
Paradygmaty programowania obiektowego
Abstrakcja
Każdy obiekt w systemie służy jako model abstrakcyjnego "wykonawcy", który może
wykonywać pracę, opisywać i zmieniać swój stan, oraz komunikować się z innymi
obiektami w systemie, bez ujawniania, w jaki sposób zaimplementowano dane cechy.
Procesy, funkcje lub metody mogą być również abstrahowane, a kiedy tak się dzieje,
konieczne są rozmaite techniki rozszerzania abstrakcji.
Enkapsulacja
Czyli ukrywanie implementacji, hermetyzacja. Zapewnia, że obiekt nie może zmieniać
stanu wewnętrznego innych obiektów w nieoczekiwany sposób. Tylko wewnętrzne metody
obiektu są uprawnione do zmiany jego stanu. Każdy typ obiektu prezentuje innym
obiektom swój "interfejs", który określa dopuszczalne metody współpracy. Pewne języki
osłabiają to założenie, dopuszczając pewien poziom bezpośredniego (kontrolowanego)
dostępu do "wnętrzności" obiektu. Ograniczają w ten sposób poziom abstrakcji.
Polimorfizm
Referencje i kolekcje obiektów mogą dotyczyć obiektów różnego typu, a wywołanie
metody dla referencji spowoduje zachowanie odpowiednie dla pełnego typu obiektu
wywoływanego. Jeśli dzieje się to w czasie działania programu, to nazywa się to późnym
wiązaniem lub wiązaniem dynamicznym.
Dziedziczenie
Porządkuje i wspomaga polimorfizm i enkapsulację dzięki umożliwieniu definiowania i
tworzenia specjalizowanych obiektów na podstawie bardziej ogólnych. Dla obiektów
specjalizowanych nie trzeba redefiniować całej funkcjonalności, lecz tylko tę, której nie
ma obiekt ogólniejszy. W typowym przypadku powstają grupy obiektów zwane klasami,
oraz grupy klas zwane drzewami. Odzwierciedlają one wspólne cechy obiektów.
Ćwiczenie 1:
Klasa Osoba.
import java.io.*;
class Osoba
{
private String imie;
private String nazwisko;
Osoba()
{
this.imie=" ";
this.nazwisko=" ";
System.out.println("Stworzono obiekt za pomocą konstruktora bezparametrowego");
1
Java – tworzenie klas
}
Osoba(String i, String n)
{
this.imie=i;
this.nazwisko=n;
System.out.println("Stworzono obiekt za pomoca konstruktora z parametrem");
}
public void wypiszDane()
{
System.out.println(this.imie+" "+ this.nazwisko);
}
public void zmienImie(String i)
{
this.imie=i;
System.out.println("Zmieniono imie");
}
public void zmienNazwisko(String n)
{
this.nazwisko=n;
System.out.println("Zmieniono nazwisko");
}
}
public class Ja
{
public static void main(String arg[])
{
Osoba ja = new Osoba("Piotr","Baltroczyk");
Osoba ja2 = new Osoba();
//ja2.imie = "Jas"; to nie zadziala, gdy imie jest prywatne!
ja2.zmienImie("Jas");
ja2.zmienNazwisko("Kowalski");
ja2.wypiszDane();
}
}
Ćwiczenie 2:
Stworzyć klasę RównanieKwadratowe umożliwiającą rozwiązywanie równań
kwadratowych..
2
Java – tworzenie klas
Ćwiczenie 3:
Stworzyć klasę Prostokąt umożliwiającą wypisanie wymiarów prostokąta, obliczenie pola
powierzchni, obwodu, oraz przekątnej prostokąta. Ponadto klasa winna posiadać metody
umożliwiające zmianę wysokości i szerokości prostokąta. W klasie powinny być
zdefiniowane dwa konstruktory – parametrowy i bezparametrowy.
Ćwiczenie 4:
Stworzyć klasę Pracownik z następującymi parametrami: imię, nazwisko, adres, zawód,
zarobki, urlop, rok, miesiąc, dzień i miejsce urodzenia. Zapewnić metody umożliwiające
tworzenie obiektów klasy, zmianę wszystkich właściwości klasy, oraz wypisanie
poszczególnych danych. Stworzyć metodę określającą wiek pracownika na podstawie
jego roku urodzenia.
3
Plik z chomika:
ell_lornzo
Inne pliki z tego folderu:
java14.pdf
(182 KB)
java13.pdf
(40 KB)
java12.pdf
(89 KB)
java11.pdf
(47 KB)
java10.pdf
(51 KB)
Inne foldery tego chomika:
c#
c++
Free Pascal
Zgłoś jeśli
naruszono regulamin