Oop 我应该利用课堂来做一些简单的事情,比如解决数学问题吗?

Oop 我应该利用课堂来做一些简单的事情,比如解决数学问题吗?,oop,Oop,这是一个关于使用面向对象语言的问题。我用C++来解决项目Euler,我最近在一篇文章中看到很多人把C++当作过程语言,因为你可以不用创建类就可以逃脱。我就是这么做的 我的问题是,仅仅用面向对象语言编写函数是否“不好”intmult\u顺序(intbase,intmod)对于乘法顺序,gcd(inta,intb)对于gcd,但不将它们放入类中)。为了学习,我一直在“重新发明轮子”——我应该把它们放在图书馆里,还是创建一个Math类或类似的东西?使用类的主要好处是通过继承实现重用。所以,如果你发现你

这是一个关于使用面向对象语言的问题。我用C++来解决项目Euler,我最近在一篇文章中看到很多人把C++当作过程语言,因为你可以不用创建类就可以逃脱。我就是这么做的


我的问题是,仅仅用面向对象语言编写函数是否“不好”
intmult\u顺序(intbase,intmod)
对于乘法顺序,
gcd(inta,intb)
对于gcd,但不将它们放入类中)。为了学习,我一直在“重新发明轮子”——我应该把它们放在图书馆里,还是创建一个
Math
类或类似的东西?

使用类的主要好处是通过继承实现重用。所以,如果你发现你有一些常见的代码,然后其他的代码部分是它的变体,那么创建类会对你有所帮助。如果不是这样,那么你现在的样子可能还不错。并非所有问题都必须用面向对象编程来解决。

使用类的主要好处是通过继承来重用。所以,如果你发现你有一些常见的代码,然后其他的代码部分是它的变体,那么创建类会对你有所帮助。如果不是这样,那么你现在的样子可能还不错。并非所有的问题都必须用面向对象编程来解决。

根据我所学(以及我所经历的),OOP背后的基本思想很简单:

当它让你的生活更轻松时使用它。

很容易出现这样的情况:出于您的目的,使用类不会使事情变得更简单—您没有理由重复访问执行这些数学运算的单个对象—或者创建类会产生不必要的开销


对于你的例子,我认为没有对象,你会很好,但是要考虑将来的某个地方,有必要创建一个可以处理这些操作的对象。

< P>从我所教的(以及我所经历的)中,OOP背后的基本思想是一个简单的概念:

当它让你的生活更轻松时使用它。

很容易出现这样的情况:出于您的目的,使用类不会使事情变得更简单—您没有理由重复访问执行这些数学运算的单个对象—或者创建类会产生不必要的开销


对于你的例子,我认为没有对象,你会很好,但是考虑到将来某个地方,可能需要创建一个可以处理这些操作的对象。

< p>看起来你需要使用<代码>命名空间< /代码>,而不是<代码>类< /代码> .< 拥有不属于某个类的函数没有什么错,但是您仍然应该将它们分组在一起


当您需要对象、继承或状态的属性时,请使用类,而不仅仅是为了将函数分组在一起。

似乎您需要使用
命名空间而不是

拥有不属于某个类的函数没有什么错,但是您仍然应该将它们分组在一起


当您需要对象、继承或状态的属性时,请使用类,而不仅仅是为了将函数分组在一起。

同意。一如往常,将其视为“适合工作的合适工具”问题。同意。像往常一样,把它看作是“适合工作的合适工具”的问题。这个问题没有正确的答案。有些人将这些函数放在一个
Math
类中,另一些人使用自由函数(可能将它们组合在一个名称空间中以消除可能的命名冲突)。实际上没有“正确”的方法。这个问题没有正确的答案。有些人将这些函数放在一个
Math
类中,另一些人使用自由函数(可能将它们组合在一个名称空间中以消除可能的命名冲突)。确实没有“正确”的方法。