მოცემული გაქვთ ტექსტური ფაილი shapes.properties (შეგიძლიათ სხვა სახელი
დაარქვათ) და მასში შემდეგი ინფორმაციაა:
shape.1=ge.tsu.homework.Circle
shape.1.radius=15
shape.2=ge.tsu.homework.Rectangle
shape.2.height=8
shape.2.width=13
და ა.შ.
თითოეული კლასი, რომლის სახელი მოცემულია ფაილში, აფართოებენ ინტერფეის
Shape–ს
public interface Shape {
double getArea();
}
თქვენი ამოცანაა, წაიკითხოთ ფაილი, ააგოთ შესაბამისი ობიექტები
მეხსიერებაში. მაგალითად, შემდეგი 2 სტრიქონი:
shape.1=ge.tsu.homework.Circle
shape.1.radius=15
ნიშნავს რომ თქვენ ქმნით Circle კლასის ობიექტს და შემდეგ მასზე იძახებთ
setRadius–ს და გადასცემთ 15–ს.
ანალოგიურად Rectangle–სათვის. იქ 3 სტრიქონია და setHeight/setWidth
იქნება გამოძახებული. სხვა კლასს სხვა მეთოდები შეიძლება ჰქონდეს და,
შესაბამისად, სტრიქონების სხვა რაოდენობაც.
მას შემდეგ, რაც ყველა ფიგურის შესაბამის ობიექტს ააგებთ, ეკრანზე უნდა
დაბეჭდოთ მათი ფართობები (ანუ მნიშვნელობები, რასაც getArea() აბრუნებს).
გაითვალისწინეთ რომ:
1. ფიგურათა კლასების რაოდენობა არ არის შეზღუდული. აქ მხოლოდ წრეწირი და
მართკუთხედია მოცემული, თუმცა ხვალ თქვენს პროგრამას ახალი ფიგურის კლასი
რომ დაემატოს თავისი set მეთოდებით (მაგ. შეიძლება სამკუთხედს 2 გვერდი
და მათ შორის მდებარე კუთხე სჭირდებოდეს), ამან არ უნდა მოითხოვოს თქვენი
კოდის მოდიფიკაცია – მხოლოდ კონფიგურაციის ფაილი უნდა შეიცვალოს.
2. ყველა რიცხვითი სიდიდე double ტიპისაა
3. კონფიგურაციის ფაილის წასაკითხად გამოიყენეთ კლასი
java.util.Properties (კლასის დოკუმენტაცია იხილეთ ინტერნეტში)
ეს დავალება უნდა გამომიგზავნოთ 26 მარტის 18:00–მდე. უფრო გვიან
გამოგზავნილი ნამუშევრები არ მიიღება. გამოგზავნეთ Eclipse–ს პროექტი
მთლიანად. პროექტს დაარქვით სახელი თქვენი სახელისა და გვარის მიხედვით.
მაგალითად MikheilKapanadze