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.
-
Uygulamanın amacı, Workintech Burger adlı bir şirketin hamburgerlerini satma sürecini yönetmesine yardımcı olmaktır.
-
İlk başta org.example.models paketi altında 3 tane yeni sınıf oluşturmalısınız.
Hamburger
,DeluxeBurger
,HealthyBurger
(Hamburger sınıfını ana sınıf olarak dizayn etmelisiniz) -
Hamburger sınıfı içerisinde 4 tane değişken tanımlamalısınız.
name
,meat
,price
,breadRollType
price değişkeni double olmalı. Kalanları String olarak tanımlayabilirsiniz. -
Hamburger'in üzerine başka malzemeler eklenebilir. Bunları şu isimlerle tutmalıyız. addition1Name, addition1Price, addition2Name, addition2Price, addition3Name, addition3Price, addition4Name ve addition4Price. İsim tutan değişkenler String olmalı, price tutan değişkenler double olarak tanımlanmalı.
-
Hamburger sınıfı içerisine malzemelerin eklenmesi için 5 tane daha metod eklemeliyiz. 4 tanesi ilgili malzemenin eklenmesi için. 1 tane de tüm eklenen malzemelerin görüntülenmesi için.
-
Metodları şu isimle adlandırabilirsiniz.
addHamburgerAddition1
,addHamburgerAddition2
,addHamburgerAddition3
,addHamburgerAddition4
veitemizeHamburger
-
addHamburgerAddition metodları 2 tane parametre almalı malzemenin ismi ve ücreti ve hiçbir değer dönmemeli. itemizeHamburger hem tüm malzemeleri ekrana basmalı. Hem de toplam ücreti(hamburger + tüm malzemeler) değer olarak dönmeli.
-
İkinci sınıfımız
DeluxeBurger
içersindecips
ve birdrink
adında 2 tane String değişken tutmalı. Bu değişkenler private olmalı ve bu değişkenler için getter methodu yazınız. -
cips
vedrink
değişkenlerini constructor üzerinden parametre olarak almamalı. Constructor tanımlanırken otomatik olarak bu değerleri "Curvy" ve "Coke" olarak set etmeli. -
default olarak price değişkenini
19.10$
olarak oluşturur. -
DeluxeBurger için hiçbir şekilde ek malzeme eklenemez. Ek malzeme eklemesi yapana tüm metodlar
override
edilmeli ve İçlerine\nDeluxe Burger için yeni malzeme eklenemez.
mesajı eklenmeli. -
Üçüncü sınıfımız
HealthyBurger
constructor üzerinden name, price ve breadRollType değerleri set edilebilmeli. meat type direkt olaraktofu
olmalı. -
İçerisinde 4 tane değişken alabilir.
healthyExtra1Name
,healthyExtra1Price
,healthyExtra2Name
,healthyExtra2Price
Name değişkenleri String olmalı, price değişkenleri double olmalı. -
İki tane metod eklemeliyiz.
addHealthyAddition1
veaddHealthyAddition2
. 2 tane parametre almalı malzemenin ismi ve ücreti sonunda hiçbir değer dönmemeli. -
itemizeHamburger
metodunu override edilmeli. itemizeHamburger hem tüm malzemeleri ekrana basmalı. Hem de toplam ücreti hesaplamalı.(HealthyHamburger + tüm malzemeler)
Hamburger hamburger = new Hamburger("Basic", "Normal", 3.56, "Wrap");
hamburger.addHamburgerAddition1("Tomato", 0.27);
hamburger.addHamburgerAddition2("Lettuce", 0.75);
hamburger.addHamburgerAddition3("Cheese", 1.13);
hamburger.itemizeHamburger();
HealthyBurger healthyBurger = new HealthyBurger("Vegan Burger", 5.67, "Sandwich");
healthyBurger.addHamburgerAddition1("Egg", 5.43);
healthyBurger.addHealthyAddition1("Lentils", 3.41);
healthyBurger.itemizeHamburger();
DeluxeBurger db = new DeluxeBurger();
db.addHamburgerAddition3("Should not do this", 50.53);
db.itemizeHamburger();
Name: Basic
Meat: Normal
BreadRollType: Wrap
Addition1: Tomato
Addition2: Lettuce
Addition3: Cheese
Price: 5.71
Name: Vegan Burger
Meat: Tofu
BreadRollType: Sandwich
Addition1: Egg
HealthyAddition1: Lentils
Price: 14.51
Deluxe Burger için yeni malzeme eklenemez
Name: Deluxe Burger
Meat: Double
BreadRollType: Double Sandwich
Price: 19.1