22 Kopiowanie obiektów
Napisz klasę
Studentz trzema polami:name(String),age(int) igrade(double). Zaimplementuj interfejsCloneablei 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ę
Teacherz trzema polami:name(String),subject(String) iexperience(int). Zaimplementuj interfejsCloneablei 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ę
Carz trzema polami:make(String),model(String) imileage(double). Zaimplementuj interfejsCloneablei 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ę
Smartphonez trzema polami:brand(String),model(String) iproductionDate(typuDate). Zaimplementuj interfejsCloneablei 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ę
Laptopz trzema polami:brand(String),model(String) ipurchaseDate(typuDate). Zaimplementuj interfejsCloneablei 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ę
VideoGamez trzema polami:title(String),genre(String) ireleaseDate(typuDate). Zaimplementuj interfejsCloneablei 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ę
CreditCardz trzema polami:cardNumber(String),holderName(String) iexpiryDate(typuLocalDate). Zaimplementuj interfejsCloneablei 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ę
BankAccountz trzema polami:accountNumber(String),accountHolder(String) iopeningDate(typuLocalDate). Zaimplementuj interfejsCloneablei 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ę
DrivingLicensez trzema polami:licenseNumber(String),holderName(String) iissueDate(typuLocalDate). Zaimplementuj interfejsCloneablei 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ę
Employeez dwoma polami:name(String) isalaries(tablica 12 zmiennych typu double, reprezentująca zarobki za każdy miesiąc). Zaimplementuj interfejsCloneablei 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ę
Athletez 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 interfejsCloneablei 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ę
Teacherz dwoma polami:name(String) istudentsGrades(tablica 10 zmiennych typu double, reprezentująca oceny każdego z 10 uczniów). Zaimplementuj interfejsCloneablei 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ę
Employeez dwoma polami:name(String) imonthlyHours(lista tablicowa zmiennych typu int, reprezentująca liczbę przepracowanych godzin w każdym miesiącu). Zaimplementuj interfejsCloneablei 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ę
Athletez 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 interfejsCloneablei 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ę
Teacherz dwoma polami:name(String) istudentsGrades(lista tablicowa zmiennych typu int, reprezentująca oceny każdego z uczniów). Zaimplementuj interfejsCloneablei 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ę
Teacherz polaminame(String),age(int) isalary(double). Następnie napisz klasęHeadTeacher, która dziedziczy po klasieTeacheri dodaje polebonus(double). Zaimplementuj interfejsCloneablei nadpisz metodęclone()w obu klasach. W metodziemain()pokaż przykład prezentujący poprawność klonowania obiektów tych klas.Napisz klasę
Developerz polaminame(String),age(int) isalary(double). Następnie napisz klasęSeniorDeveloper, która dziedziczy po klasieDeveloperi dodaje polebonus(double). Zaimplementuj interfejsCloneablei nadpisz metodęclone()w obu klasach. W metodziemain()pokaż przykład prezentujący poprawność klonowania obiektów tych klas.Napisz klasę
Nursez polaminame(String),age(int) isalary(double). Następnie napisz klasęHeadNurse, która dziedziczy po klasieNursei dodaje polebonus(double). Zaimplementuj interfejsCloneablei 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). KlasaCarpowinna mieć pola:make(marka),model(model),enginetypuEngine(silnik). Dodaj konstruktor parametryczny oraz zaimplementuj interfejsCloneable.