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
abstractsınıf oluşturunuz. -
Bu sınıf içerisinde 3 tane
privatedeğ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
constructormetodu tanımlayınız. 3instance variabledeğerini de set etmeli. -
ProductForSale sınıfına
getSalesPrice(int quantity)isimli bir metod ekleyiniz.quantity*pricedeğerini dönmeli. -
ProductForSale sınıfına
showDetailsisimliabstractbir metod ekleyiniz. Dönüş değeri olmamalı. -
org.example.model paketi altında
Chocolate, Coke, Breadisimli 3 tane yeni sınıf oluşturunuz. 3 sınıftaProductForSalesı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 variabledeğeri ekleyiniz. -
showDetailsisimli metot, ProductForSale üzerinde var olan ve kendine özgü olan tüminstance variabledeğerlerini anlaşılabilir bir şekilde ekrana bastırmalı. -
org.example.model.Store sınıfı içerisinde bulanan
listProductsmetodu parametre olarak aldığıproductsdizisini gezmeli ve her bir değer içinshowDetailsmetodunu ç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, Breadobjelerinden birer adet eklemelisiniz. -
Bu diziyi
listProductsmetoduna parametre olarak geçiniz. -
Her bir
showDetailsmetodu çağırıldığında çağırıldığı objeye göre mesaj döndüğünden emin olunuz.
-
org.example.rpg paketi altında
Monsterisminde birabstractsınıf tanımlayınız. -
Monstersınıfının 3 taneinstance variableolmalı.name => String, hitPoints => int, damage => double -
Monster sınıfı için bir tane
constructormetodu 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.)
-
Bleedableisimli bir interface tanımlayınız içerisindebleedisimli bir method olmalı ve double değer dönmeli. -
Poisonableisimli bir interface tanımlayınız içerisindepoisonisimli bir method olmalı ve double değer dönmeli. -
Eğer yaratığın saldırdığında kanatma olasılığı varsa
bleedmetodugetDamage()*0.25değerini dönmeli. -
Eğer yaratığın saldırdığında zehirleme olasılığı varsa
poisonmetodugetDamage()*0.3değerini dönmeli. -
Troll sınıfı bu 2 interface i de implement etmeli.
-
Monster sınıfına
attackisimli bir method ekleyin.getDamage() + bleed() + poison()değerini dönmeli.