22 Kopiowanie obiektów
Napisz klasę
Student
z trzema polami:name
(String),age
(int) igrade
(double). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektStudent
, sklonuj go, a następnie zmień ocenę (grade
) oryginalnego studenta. Wyświetl oceny obu studentów, aby zobaczyć, czy są niezależne.Napisz klasę
Teacher
z trzema polami:name
(String),subject
(String) iexperience
(int). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektTeacher
, sklonuj go, a następnie zmień doświadczenie (experience
) oryginalnego nauczyciela. Wyświetl doświadczenie obu nauczycieli, aby zobaczyć, czy są niezależne.Napisz klasę
Car
z trzema polami:make
(String),model
(String) imileage
(double). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektCar
, sklonuj go, a następnie zmień przebieg (mileage
) oryginalnego samochodu. Wyświetl przebieg obu samochodów, aby zobaczyć, czy są niezależne.Napisz klasę
Smartphone
z trzema polami:brand
(String),model
(String) iproductionDate
(typuDate
). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektSmartphone
, sklonuj go, a następnie zmień datę produkcji oryginalnego smartfona. Wyświetl datę produkcji obu smartfonów, aby zobaczyć, czy są niezależne.Napisz klasę
Laptop
z trzema polami:brand
(String),model
(String) ipurchaseDate
(typuDate
). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektLaptop
, sklonuj go, a następnie zmień datę zakupu (purchaseDate
) oryginalnego laptopa. Wyświetl datę zakupu obu laptopów, aby zobaczyć, czy są niezależne.Napisz klasę
VideoGame
z trzema polami:title
(String),genre
(String) ireleaseDate
(typuDate
). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektVideoGame
, sklonuj go, a następnie zmień datę wydania (releaseDate
) oryginalnej gry. Wyświetl datę wydania obu gier, aby zobaczyć, czy są niezależne.Napisz klasę
CreditCard
z trzema polami:cardNumber
(String),holderName
(String) iexpiryDate
(typuLocalDate
). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektCreditCard
, sklonuj go, a następnie zmień datę wygaśnięcia (expiryDate
) oryginalnej karty kredytowej. Wyświetl datę wygaśnięcia obu kart, aby zobaczyć, czy są niezależne.Napisz klasę
BankAccount
z trzema polami:accountNumber
(String),accountHolder
(String) iopeningDate
(typuLocalDate
). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektBankAccount
, sklonuj go, a następnie zmień datę otwarcia (openingDate
) oryginalnego konta bankowego. Wyświetl datę otwarcia obu kont, aby zobaczyć, czy są niezależne.Napisz klasę
DrivingLicense
z trzema polami:licenseNumber
(String),holderName
(String) iissueDate
(typuLocalDate
). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektDrivingLicense
, sklonuj go, a następnie zmień datę wydania (issueDate
) oryginalnego prawa jazdy. Wyświetl datę wydania obu praw jazdy, aby zobaczyć, czy są niezależne.Napisz klasę
Employee
z dwoma polami:name
(String) isalaries
(tablica 12 zmiennych typu double, reprezentująca zarobki za każdy miesiąc). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektEmployee
, sklonuj go, a następnie zmień zarobki na pozycji 5 (czerwiec) oryginalnego pracownika. Wyświetl zarobki obu pracowników, aby zobaczyć, czy są niezależne.Napisz klasę
Athlete
z dwoma polami:name
(String) itimes
(tablica 5 zmiennych typu double, reprezentująca czas w sekundach potrzebny na przebiegnięcie 100 metrów podczas różnych prób). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektAthlete
, sklonuj go, a następnie zmień czas na pozycji 3 oryginalnego sportowca. Wyświetl czasy obu sportowców, aby zobaczyć, czy są niezależne.Napisz klasę
Teacher
z dwoma polami:name
(String) istudentsGrades
(tablica 10 zmiennych typu double, reprezentująca oceny każdego z 10 uczniów). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektTeacher
, sklonuj go, a następnie zmień ocenę na pozycji 10 oryginalnego nauczyciela. Wyświetl oceny obu nauczycieli, aby zobaczyć, czy są niezależne.Napisz klasę
Employee
z dwoma polami:name
(String) imonthlyHours
(lista tablicowa zmiennych typu int, reprezentująca liczbę przepracowanych godzin w każdym miesiącu). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektEmployee
, sklonuj go, a następnie zmień liczbę godzin na pozycji 5 (czerwiec) oryginalnego pracownika. Wyświetl liczbę godzin obu pracowników, aby zobaczyć, czy są niezależne.Napisz klasę
Athlete
z dwoma polami:name
(String) ilapTimes
(lista tablicowa zmiennych typu int, reprezentująca czas w sekundach potrzebny na przebiegnięcie okrążenia podczas różnych prób). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektAthlete
, sklonuj go, a następnie zmień czas na pozycji 3 oryginalnego sportowca. Wyświetl czasy obu sportowców, aby zobaczyć, czy są niezależne.Napisz klasę
Teacher
z dwoma polami:name
(String) istudentsGrades
(lista tablicowa zmiennych typu int, reprezentująca oceny każdego z uczniów). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
, aby móc klonować obiekty tej klasy. W metodziemain()
utwórz obiektTeacher
, sklonuj go, a następnie zmień ocenę na pozycji 10 oryginalnego nauczyciela. Wyświetl oceny obu nauczycieli, aby zobaczyć, czy są niezależne.Napisz klasę
Teacher
z polaminame
(String),age
(int) isalary
(double). Następnie napisz klasęHeadTeacher
, która dziedziczy po klasieTeacher
i dodaje polebonus
(double). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
w obu klasach. W metodziemain()
pokaż przykład prezentujący poprawność klonowania obiektów tych klas.Napisz klasę
Developer
z polaminame
(String),age
(int) isalary
(double). Następnie napisz klasęSeniorDeveloper
, która dziedziczy po klasieDeveloper
i dodaje polebonus
(double). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
w obu klasach. W metodziemain()
pokaż przykład prezentujący poprawność klonowania obiektów tych klas.Napisz klasę
Nurse
z polaminame
(String),age
(int) isalary
(double). Następnie napisz klasęHeadNurse
, która dziedziczy po klasieNurse
i dodaje polebonus
(double). Zaimplementuj interfejsCloneable
i nadpisz metodęclone()
w obu klasach. W metodziemain()
pokaż przykład prezentujący poprawność klonowania obiektów tych klas.Wykonaj poniższe czynności:
- Stwórz klasę
Engine
(Silnik) z polami:power
(moc),type
(typ silnika),serialNumber
(numer seryjny). Dodaj konstruktor parametryczny oraz zaimplementuj interfejsCloneable
. - Stwórz klasę
Car
(Samochód). KlasaCar
powinna mieć pola:make
(marka),model
(model),engine
typuEngine
(silnik). Dodaj konstruktor parametryczny oraz zaimplementuj interfejsCloneable
.