|
Тема |
Re: more info [re: lexo] |
|
Автор |
josarjan () |
|
Публикувано | 20.12.03 15:07 |
|
|
OK.
Togawa kakwo prechi da imash Map ot (String, Object), kydeto String e imeto na dejnostta (Activity), a Object e class-a, kojto implement-wa taja dejnost. I da tyrsish wytre po ime.
class Company {
private final Map activities = new HashMap();
void addActivity(Activity activity) {
this.activities.put(activity.getName(), activity);
}
void removeActivity(String activityName){
this.activities.remove(activityName);
}
void is(String activityName) {
return this.activities.containsKey(activityName);
}
Object as(String activityName) {
return this.activities.get(activityName);
}
}
abstract class Activity {
private final String name;
protected Activity(String name) {
this.name = name;
}
String getName() {
return this.name;
}
}
class Seller extends Activity {
Seller() {
super("seller");
}
int getGoodsSelled() {
// bla, bla, bla
}
}
class Transporter extends Activity {
Transporter() {
super("transporter");
}
int getCarsAvailable() {
// bla, bla, bla
}
}
void test(Company c) {
if (!c.is("seller")) {
System.out.println("not a seller");
}
Seller seller = (Seller) c.as("seller");
System.out.println("Goods selled: " + seller.getGoodsSelled());
if (!c.is("transporter")) {
System.out.println("not a transporter");
}
Transported transporter = (Transporter) c.as("transporter");
System.out.println("Cars available: " + transported.getCarsAvailable());
}
Ami towa e, koeto mi hrumwa. Trjabwa da widish kak shte gi map-nesh kym DB.
|
| |
|
|
|