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.
-
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ı. -
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ı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ı. -
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ı. -
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 eklemelsiniz. -
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.
-
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 olucak şekilde Monster türünde bir sınıf tanımlayınız.(Troll, 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. -
Monster sınıfına
attack
isimli bir method ekleyin.getDamage() + bleed() + poison()
değerini dönmeli.