საშინაო დავალება 28 მარტისათვის

1 view
Skip to first unread message

Mikheil Kapanadze

unread,
Mar 23, 2009, 3:29:13 PM3/23/09
to OOP3 in TSU - 2009
მოგესალმებით ყველას. საშინაო დავალება შემდეგია:

მოცემული გაქვთ ტექსტური ფაილი 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

Reply all
Reply to author
Forward
0 new messages