面向对象编程中类的属性能不能替代成员方法的参数?
就是说给类设置多个属性,如果调用成员方法的时候需要用到某个值,就从外部改变类的某个属性,然后方法直接从属性里面读取需要的值,而不是直接传递参数给方法。这样的话,如果有多个...
就是说给类设置多个属性,如果调用成员方法的时候需要用到某个值,就从外部改变类的某个属性,然后方法直接从属性里面读取需要的值,而不是直接传递参数给方法。
这样的话,如果有多个方法需要用到同一个值,就不需要每次都传递了。
这种做法可行吗?有什么弊端?请高人们给点指示。 展开
这样的话,如果有多个方法需要用到同一个值,就不需要每次都传递了。
这种做法可行吗?有什么弊端?请高人们给点指示。 展开
2个回答
展开全部
我本来想写一个数学函数编译器的
有这个方法应该可以
class TheNum{//数据类型
public int in;
public float fl;
public double dou;
public int type =1;//1整型,2.单精度,3.双精度
public TheNum(int in){//是数字
this.in =in;
}
public TheNum(float fl){
this.fl =fl;
type = 2;
}
public TheNum(double dou){
this.dou =dou;
type = 3;
}
public int getType(){
return type;
}
public Object getNum(){//直接传送对象
Object Ob =null;
switch(type){
case 1:
Ob = (Object)in;
break;
case 2:
Ob = (Object)fl;
break;
case 3:
Ob = (Object)dou;
break;
default:
}
return Ob;
}
public void changgeNum(Object ob){
switch(type){
case 1:
in = (Integer)ob;
break;
case 2:
fl = (Float)ob;
break;
case 3:
dou = (Double)ob;
break;
default:
}
}
}//可能会对你有用
有这个方法应该可以
class TheNum{//数据类型
public int in;
public float fl;
public double dou;
public int type =1;//1整型,2.单精度,3.双精度
public TheNum(int in){//是数字
this.in =in;
}
public TheNum(float fl){
this.fl =fl;
type = 2;
}
public TheNum(double dou){
this.dou =dou;
type = 3;
}
public int getType(){
return type;
}
public Object getNum(){//直接传送对象
Object Ob =null;
switch(type){
case 1:
Ob = (Object)in;
break;
case 2:
Ob = (Object)fl;
break;
case 3:
Ob = (Object)dou;
break;
default:
}
return Ob;
}
public void changgeNum(Object ob){
switch(type){
case 1:
in = (Integer)ob;
break;
case 2:
fl = (Float)ob;
break;
case 3:
dou = (Double)ob;
break;
default:
}
}
}//可能会对你有用
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询