两者中哪个更好 创建属性并在类中的方法中传递它们或将对象作为参数传递给方法? 我有一个由处理程序类返回的datamodel对象实例,我想将它传递给两个不同的方法,所以最好的方法是什么,将它分配给类中的属性然后将它用于这两个方法,或者通过instance作为方法的参数?
答案 0 :(得分:2)
如果一个对象只是临时需要从中提取数据,那么将其作为方法参数传递。
你应该从代码细节中退一步,并且看起来更抽象:如果对象没有直接目的,或者没有意义地属于类,那么将它作为方法参数传递就可以了。如果对象可以被视为类的一部分(即类一直需要的东西,或者依赖于很多东西),那么可以选择使用property
使其成为类的一部分。
要考虑的其他事项是设置属性,然后调用使用该属性的方法,将数据与操作分开。我的意思是,这会掩盖方法的作用,以及它的工作原理。当然,这可以通过正确命名这些方法来克服。再次在更抽象的层面上查看事物,以找到构造事物的最有意义的方式(即,最接近类的目的以及方法实际在做什么)。
在其他情况下,这些对象可能属于底层/其他类,这意味着您当前的类只传递它们。在这些情况下,很明显你应该用方法传递它们。