作者CSLabor (电脑工人)
看板java
标题[问题] 物件导向
时间Sat Dec 8 10:32:00 2012
有四个Class
有四个相同名称的Method
但是相同名称的method他们的参数数量 型别都不一样
例如:
class A_Class
{
public void A_Method(String a,int b){
//do something
}
public void B_Method(int a,byte b){
//do something
}
public void C_Method(boolean a,String b){
//do something
}
public void D_Method(String a,String b){
//do something
}
}
class B_Class
{
public void A_Method(String a,String b,String c){
//do something
}
public void B_Method(int a,int b){
//do something
}
public void C_Method(boolean a){
//do something
}
public void D_Method(String a,String b,byte c){
//do something
}
}
class C_Class
{
public void A_Method(String a,String b,int c){
//do something
}
public void B_Method(int a,int b,int c,boolean d){
//do something
}
public void C_Method(boolean a,int b){
//do something
}
public void D_Method(String a,String b,String c){
//do something
}
}
class D_Class
{
public void A_Method(String a,String b,String c,boolean d){
//do something
}
public void B_Method(int a,int b,int c,int d){
//do something
}
public void C_Method(boolean a,boolean b,boolean c){
//do something
}
public void D_Method(String a,String b,String c,String d){
//do something
}
}
我想要用Abstract Class或是Interface去规范这些Method
但是因为相同名称的Method在不同Class参数数量与型别都不一样
所以不知道怎麽Define Abstract Class或是Interface
烦请有经验的前辈给予小弟一些指导
在这边先谢谢各位前辈的帮忙
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.65.253
1F:推 PsMonkey:为甚麽你要抽一个 abstract / interface? 12/08 11:25
2F:→ CSLabor:因为我想要用多型 类似doXXX(他们的父类别)之类的 12/08 12:12
3F:→ CSLabor:不希望多一个Class就overloading一次 12/08 12:13
4F:→ cha122977:吃的参数不一样表示你要用之前还是要知道他是哪个class 12/08 13:38
5F:→ TsaiCF:参考看看 Command 或 Strategy pattern, 12/08 18:11
6F:→ TsaiCF:再回到你的原始需求好好分析设计一下。 12/08 18:12
7F:推 SansWord:按照overriding 的定义,参数不同就是不同method了 12/09 04:22