Oop 为对象赋值

Oop 为对象赋值,oop,object,instantiation,Oop,Object,Instantiation,给定的代码示例是否执行相同的操作?我真的需要一个额外的对象实例化代码吗?第一个代码段是否有任何问题 样本1 Dog adog= new Dog(); adog.ID = dogID; adog.CategoryId= dogCategoryId; adog= DogRepository.FindDogByCategoryId(adog); 将值重新指定给同一对象 样本2 Dog adog= new Dog(); adog.ID = dogID; adog.CategoryId= dogCat

给定的代码示例是否执行相同的操作?我真的需要一个额外的对象实例化代码吗?第一个代码段是否有任何问题

样本1

Dog adog= new Dog();
adog.ID = dogID;
adog.CategoryId= dogCategoryId;

adog= DogRepository.FindDogByCategoryId(adog);
将值重新指定给同一对象

样本2

Dog adog= new Dog();
adog.ID = dogID;
adog.CategoryId= dogCategoryId;

Dog odog= DogRepository.FindDogByCategoryId(adog);

将值指定给不同的对象

否,如果愿意,可以重用原始对象。第一个代码可以正常工作

假设FindDogByCategoryId返回一个新的Dog对象,并且不再需要旧的adog。它将永远消失。失去一只心爱的宠物真让人难过


小心不要成为过度优化的受害者,这通常发生在程序员在知道自己的性能需求之前就开始考虑性能细节(这里的收益实际上是分钟)时。

我不会失去我的宠物,因为它会重生:)