Zamislite da je potrebno da modelujete informacioni sistem jedne trgovine. Potrebno je da napravite klasu Product koja će predstavljati osnovu za dalje nasleđivanje i neće se moći instancirati. Ovu klasu nasleđuju dve klase koje predstavljaju konkretne grupe proizvoda: Chocolate i Wine. Ova hijerarhija prikazana grafikom izgleda ovako:
Svaki proizvod poseduje određene osobine:
Takođe, svaki proizvod poseduje i metodu za računanje cene, koja se izračunava tako što se osnovna cena uveća za iznos poreza. Porez (PDV) za svaki proizvod je 20% i ovo je podatak koji je konstantan i neće se menjati.
Ipak, proizvodi iz grupe vina, imaju i dodatni porez, pošto spadaju u grupu alkoholnih pića i on iznosi 10% od cene već uvećane za iznos PDV-a. I ovo je podatak koji je konstantan i neće se menjati.
Zbog ovoga je potrebno redefinisati metodu za računanje cene samo u okviru klase Wine.
Pored ovoga, klasa Wine treba da poseduje atribut koji definiše zapreminu boce, a klasa Chocolate atribut koji definiše težinu.
U klasama Chocolate i Wine, potrebno je napraviti parametrizovane konstruktore za kreiranje objekata.
Potrebno je, takođe, u svim klasama redefinisati metodu toString za prikaz informacija o objektu.
Na kraju je potrebno u test klasi kreirati po jedan objekat ovih klasa i na izlazu prikazati informacije o proizvodima, kao i iznos finalne cene definisane kroz metodu za izračunavanje cene. Za osnovnu cenu uzeti proizvoljan iznos.
Avvra 20.09.2020 Одељци: Зид Питања и одговори Avvra | Кључне речи: oop java Java IT Akademija
|
0
|
©Библиотека++ 2024 Развој сајта Ивица Лазаревић