Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
Java 我应该在什么时候将代码分为不同的类?_Java_Oop - Fatal编程技术网

Java 我应该在什么时候将代码分为不同的类?

Java 我应该在什么时候将代码分为不同的类?,java,oop,Java,Oop,我知道OOP在将代码划分为相关类时的强大功能。但是,我应该什么时候将代码划分成类呢 我认为更多的类需要更多的对象来调用这些类中的一些方法。这是内存的过度使用吗?通常按照单一责任原则将代码分为多个类 每门课只能做一件事。 如果你的班级做得太多,把它分成不同的班级 试着在互联网上搜索一下关于单一责任原则的信息,以获得一些好的例子 一般来说,问题与内存无关,而是与糟糕的编程有关。该代码应该很容易阅读,即使是对它一无所知的人。只有当您是一名非常高级的程序员并且您的代码需要这些增强时,才尝试增强性能 有5

我知道OOP在将代码划分为相关类时的强大功能。但是,我应该什么时候将代码划分成类呢


我认为更多的类需要更多的对象来调用这些类中的一些方法。这是内存的过度使用吗?

通常按照单一责任原则将代码分为多个类

每门课只能做一件事。

如果你的班级做得太多,把它分成不同的班级

试着在互联网上搜索一下关于单一责任原则的信息,以获得一些好的例子

一般来说,问题与内存无关,而是与糟糕的编程有关。该代码应该很容易阅读,即使是对它一无所知的人。只有当您是一名非常高级的程序员并且您的代码需要这些增强时,才尝试增强性能

有5个设计原则。它们可以通过首字母缩略词SOLID记住,SOLID用于:

  • 单一责任原则
  • 开闭原理
  • 利斯科夫替换原理
  • 界面分离原理
  • 依赖倒置原理
这里我只谈了单一责任原则

设计模式更接近于代码。模式是解决反复出现的问题的方法。相反,原则是驱动代码设计所要遵循的理念。您将发现数十种模式可以拆分代码以解决特定问题。他们都遵循指导方针,对每一个班级保持单一的责任


作为起点,我添加了一个链接到一个很好的网站,详细解释每个原则和许多模式

通常按照单一责任原则将代码分为多个类

每门课只能做一件事。

如果你的班级做得太多,把它分成不同的班级

试着在互联网上搜索一下关于单一责任原则的信息,以获得一些好的例子

一般来说,问题与内存无关,而是与糟糕的编程有关。该代码应该很容易阅读,即使是对它一无所知的人。只有当您是一名非常高级的程序员并且您的代码需要这些增强时,才尝试增强性能

有5个设计原则。它们可以通过首字母缩略词SOLID记住,SOLID用于:

  • 单一责任原则
  • 开闭原理
  • 利斯科夫替换原理
  • 界面分离原理
  • 依赖倒置原理
这里我只谈了单一责任原则

设计模式更接近于代码。模式是解决反复出现的问题的方法。相反,原则是驱动代码设计所要遵循的理念。您将发现数十种模式可以拆分代码以解决特定问题。他们都遵循指导方针,对每一个班级保持单一的责任


作为起点,我添加了一个链接到一个很好的网站,详细解释每个原则和许多模式

也许我们可以使用flyweight模式来制作颗粒大小的对象。对于该模式,我们可以将公共代码移动到公共对象和辅助方法。这将帮助我们节省内存


Thx

也许为了制作颗粒大小的对象,我们可以使用flyweight模式。对于该模式,我们可以将公共代码移动到公共对象和辅助方法。这将帮助我们节省内存


Thx

在java中,从类实例化对象只是为了澄清一些基本术语。oop中的对象是一个概念对象,有点像是说您应该将代码组织成相关的实体,以便使用其他人在回答中提到的原则(如继承、封装等)更容易维护和适应未来的变化


你总是可以联系到现实生活中的概念。在一个由大量纸张随机拼凑而成的厚文件中,或者在根据类别等正确标记的文件中,更容易找到文档。

在java中,你从一个类实例化一个对象只是为了澄清一些基本术语。oop中的对象是一个概念对象,有点像是说您应该将代码组织成相关的实体,以便使用其他人在回答中提到的原则(如继承、封装等)更容易维护和适应未来的变化


你总是可以联系到现实生活中的概念。在一个由大量纸张组成的厚实文件中,或者在根据类别等正确标记的文件中,更容易找到文档。

将每个类视为现实生活中的实体

例如,若您正在创建库管理系统,那个么将有一个名为library的类,它将包含一个List变量,该变量基本上保存“Book”类的对象列表。你必须这样想。虽然这很简单,但你只能这样想


内存取决于您创建的对象数量。更多的对象将需要更多的内存

将每个类视为现实生活中的实体

例如,若您正在创建库管理系统,那个么将有一个名为library的类,它将包含一个List变量,该变量基本上保存“Book”类的对象列表。你必须这样想。虽然这很简单,但你只能这样想


内存取决于您创建的对象数量。更多对象将需要更多内存

请参阅此相关堆栈溢出,以获取有关特定问题的帮助。像这样更一般的问题可能在@jacobraile上做得更好。这充其量只能作为一个复制品来结束,但因为它相对广泛且不是一个重点问题,可能会被否决而被遗忘。@enderland所以在OP提出之前就已经有了答案。太好了?这是d