Projeyi öncelikle forklayın ve clone edin. Daha sonra projeyi IntellijIDEA kullanarak açınız. README.md dosyasını dikkatli bir şekilde okuyarak istenenleri yapmaya çalışın. Proje sayımız ilerledikçe proje yönetimimizi kolaylaştırmak adına projelerimizi belli klasör kalıplarında saklamak işimizi kolaylaştırmak adına iyi bir alışkanlıktır. Örnek bir Lokasyon: Workintech/Sprint_1/Etud.
-
org.example.model paketi altında ProductForSale isimli bir
abstract
sınıf oluşturunuz. -
Bu sınıf içerisinde 3 tane
private
değişken tanımlayınız.type, price, description
. Tiplerinin ne olması gerektiğine karar veriniz ve hepsi için birer getter metodu yazınız. -
Tek bir tane
constructor
metodu tanımlayınız. 3instance variable
değerini de set etmeli. -
ProductForSale sınıfına
getSalesPrice(int quantity)
isimli bir metod ekleyiniz.quantity*price
değerini dönmeli. -
ProductForSale sınıfına
showDetails
isimliabstract
bir metod ekleyiniz. Dönüş değeri olmamalı. -
org.example.model paketi altında
Chocolate, Coke, Bread
isimli 3 tane yeni sınıf oluşturunuz. 3 sınıftaProductForSale
sınıfından türemeli. -
Her sınıf ProductForSale sınıfının değerlerini set edebileceği bir constructora sahip olmalı. Ekstradan başka constructor methodlarına da sahip olabilirler.
-
Her sınıfa o sınıfa özgü en az bir tane daha
instance variable
değeri ekleyiniz. -
showDetails
isimli metot, ProductForSale üzerinde var olan ve kendine özgü olan tüminstance variable
değerlerini anlaşılabilir bir şekilde ekrana bastırmalı. -
org.example.model.Store sınıfı içerisinde bulanan
listProducts
metodu parametre olarak aldığıproducts
dizisini gezmeli ve her bir değer içinshowDetails
metodunu çağırmalı. -
org.example.model.Store sınıfında main metodu içerisinde ProductForSale değeri alabilen bir dizi oluşturmalısınız.
-
Bu dizinin içerisine
Chocolate, Coke, Bread
objelerinden birer adet eklemelisiniz. -
Bu diziyi
listProducts
metoduna parametre olarak geçiniz. -
Her bir
showDetails
metodu çağırıldığında çağırıldığı objeye göre mesaj döndüğünden emin olunuz.
-
org.example.rpg paketi altında
Monster
isminde birabstract
sınıf tanımlayınız. -
Monster
sınıfının 3 taneinstance variable
olmalı.name => String, hitPoints => int, damage => double
-
Monster sınıfı için bir tane
constructor
metodu tanımlanmalı. İlgili 3 sınıf değişkenini de set edebilmeli. -
3 sınıf değişkeni içinde getter metodu tanımlanmalı.
-
Monster sınıfı parent olacak şekilde Troll isminde bir sınıf tanımlayınız. İsteğe göre başka sınıflarda ekleyebilirsiniz.(Werewolf vs.)
-
Bleedable
isimli bir interface tanımlayınız içerisindebleed
isimli bir method olmalı ve double değer dönmeli. -
Poisonable
isimli bir interface tanımlayınız içerisindepoison
isimli bir method olmalı ve double değer dönmeli. -
Eğer yaratığın saldırdığında kanatma olasılığı varsa
bleed
metodugetDamage()*0.25
değerini dönmeli. -
Eğer yaratığın saldırdığında zehirleme olasılığı varsa
poison
metodugetDamage()*0.3
değerini dönmeli. -
Troll sınıfı bu 2 interface i de implement etmeli.
-
Monster sınıfına
attack
isimli bir method ekleyin.getDamage() + bleed() + poison()
değerini dönmeli.