Trong đoạn mã sau, thực tế là xấu cho updateWithContex
để trả về cùng một đối tượng mà nó lấy làm tham số?Thực hành Java: trả về cùng một đối tượng đã được chuyển thành tham số
class SomeClass{
Foo updateWithContex(Foo foo){
foo.setAppId(i);
foo.setXId(index);
//.....
return foo;
}
}
class Foo{
public void setAppId(int appId)
{
//
}
public void setXId(int appId)
{
//
}
public void changeState(X x)
{
//
}
}
Trong C++, tôi đã thấy mã như thế này:
BigObject&
fastTransform(BigObject& myBO)
{
// When entering fastTransform(), myBO is the same object as the function
// argument provided by the user. -> No copy-constructor is executed.
// Transform myBO in some way
return myBO; // Transformed myBO is returned to the user.
}
là cũng này sai?
Phương pháp chuỗi có một chút khác biệt, bạn trả về một tham chiếu đến đối tượng mà phương thức đã được gọi, chứ không phải đối tượng được truyền như tham số như trong trường hợp này. – buc
@buc: Đúng, điểm tốt. Tôi đã quá nhanh, sau đó –