Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 将对象或对象属性传递给函数?_Matlab - Fatal编程技术网

Matlab 将对象或对象属性传递给函数?

Matlab 将对象或对象属性传递给函数?,matlab,Matlab,是否有关于如何将对象传递给函数的指南或建议?建议始终将完整对象传递给函数: calculateSomething(car1, car2, aircraft) 还是只将真正需要的属性传递给函数更好 calculateSomething(car1.speed, car1.length, car2.speed, aircraft.height) 第一种方法似乎更方便,尤其是当函数需要更多属性时。然而,我的直觉告诉我,第二种方法的计算效率更高,因为函数不必处理完整的对象 是否有一个通用的编程建议,或

是否有关于如何将对象传递给函数的指南或建议?建议始终将完整对象传递给函数:

calculateSomething(car1, car2, aircraft)
还是只将真正需要的属性传递给函数更好

calculateSomething(car1.speed, car1.length, car2.speed, aircraft.height)
第一种方法似乎更方便,尤其是当函数需要更多属性时。然而,我的直觉告诉我,第二种方法的计算效率更高,因为函数不必处理完整的对象


是否有一个通用的编程建议,或者每个函数都在可读性和速度之间进行权衡?

永远不要直接传递属性。因为这打破了面向对象编程的原则,所以封装特别是当它涉及到对属性进行更改时


始终使用getter和setter对对象属性进行更改

始终传递完整的对象,您通常希望将参数参数的数量保持在最小,因为这会降低复杂性并提高可读性,因此通常被视为一种代码味道,在OOP中没有任何意义。