我正在开发一款Java应用程序,用于管理银行贷款的数据库。我在应用程序开发方面有一些经验,但我有一个问题,可能很愚蠢,但自从我学习编程语言以来,我一直在讨论这个问题,却没有得到令人信服的答案。
在我的程序中,我有许多类和方法,它们是我用作通用工具的。例如,我有一个用于Excel写入的类,一个用于文件读写的类,一个以各种方式操作字符串的类,一个以我的默认格式显示对话框/消息的类,一个用于特定数学函数(如Math)的类等等。
我无法将这些类想象成真正的东西(如类/对象所指的),但它们在我的脑海中像工具箱一样。这就是为什么我将它们设为静态的原因。以这种方式编写,例如:
相比于
这更适合我,因为我认为工具箱就像是一直在那里为我服务的东西,我不需要每次想使用它时都创建一个对象。难道C++的Math也不是同样的情况吗?静态的也是这样吧?
我已经和许多同事和编程朋友讨论过这个问题,他们中的大部分都说我必须创建一个对象,因为这就是面向对象编程的全部内容。
我理解他们在另一个上下文中所说的话: 在我的业余时间里,我正在使用VB.net开发一款纸牌游戏。我有游戏、玩家、牌堆、手牌等类。我从每个类中制作了许多对象,因为我有很多游戏、玩家、牌堆和手牌。它们可以被想象成真实的东西。当你开发游戏时,这是特别不同的。开发游戏更加面向对象,因为它包含真实的东西。
我想知道,我是不是在这里犯了什么错误? 我想听听关于面向对象编程的深入见解。 我也想知道静态类的用途。
谢谢
在我的程序中,我有许多类和方法,它们是我用作通用工具的。例如,我有一个用于Excel写入的类,一个用于文件读写的类,一个以各种方式操作字符串的类,一个以我的默认格式显示对话框/消息的类,一个用于特定数学函数(如Math)的类等等。
我无法将这些类想象成真正的东西(如类/对象所指的),但它们在我的脑海中像工具箱一样。这就是为什么我将它们设为静态的原因。以这种方式编写,例如:
excelWriter.create("C:\temp.xls");
excelWriter.append("mydata1\tmydata2\nmydata3\tmydata4");
excelWriter.close();
相比于
ExcelWriter myExcelWriter;
myExcelWriter.create("C:\temp.xls");
myExcelWriter.append("mydata1\tmydata2\nmydata3\tmydata4");
myExcelWriter.close();
这更适合我,因为我认为工具箱就像是一直在那里为我服务的东西,我不需要每次想使用它时都创建一个对象。难道C++的Math也不是同样的情况吗?静态的也是这样吧?
我已经和许多同事和编程朋友讨论过这个问题,他们中的大部分都说我必须创建一个对象,因为这就是面向对象编程的全部内容。
我理解他们在另一个上下文中所说的话: 在我的业余时间里,我正在使用VB.net开发一款纸牌游戏。我有游戏、玩家、牌堆、手牌等类。我从每个类中制作了许多对象,因为我有很多游戏、玩家、牌堆和手牌。它们可以被想象成真实的东西。当你开发游戏时,这是特别不同的。开发游戏更加面向对象,因为它包含真实的东西。
我想知道,我是不是在这里犯了什么错误? 我想听听关于面向对象编程的深入见解。 我也想知道静态类的用途。
谢谢