我猜我没有正确学习的一件事是何时使用课程。对于我在学校必须做的一切,除非我在java中处理对象,否则另一个类是完全必要的。使用类有哪些好的理由和做法?
答案 0 :(得分:4)
面向对象编程将世界建模为将数据和行为封装在一起的软件组件。他们通过互相发送消息进行通信。
如果这非常适合您的问题,那么OOP将起作用。
没有神奇的方法说“方形钉,遇见方孔。”
如果你已经接受了OOP,那么对象的良好开端将是Bob Martin的SOLID原则
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod http://blog.objectmentor.com/articles/2009/02/12/getting-a-solid-start
答案 1 :(得分:2)
课程反映了责任。 Each class should have exactly one responsibility。因此,您将属于一个职责的所有行为和数据添加到一个类中。帮助您识别这些职责并定义必要类的方法称为CRC cards.
答案 2 :(得分:1)
在现实世界中,你有很多物体,它们具有不同的属性,行为也不同。为了正确描述所有这些类非常有用。所以,当你有不同的对象,它们应该以某种方式相互沟通时,面向对象的编程是好的。
答案 3 :(得分:1)
类反映了一种对象。什么帮助我将功能划分为类是将我的程序中的每个概念都视为名词。对象具有行为,它们可以执行操作,因此类应该定义其实例将执行的行为。
答案 4 :(得分:1)
将您的计划视为汽车。虽然它是一台大型机器,但它是由几个部件组成的。这些组件可以相互作用,使汽车移动。电动机需要燃料系统来获得燃料。对于电动机来说,燃料到达那里并不重要,只要它到达那里。电机在其他一些部件的帮助下使车轮转动。对于车轮而言,只要它们被电机推动,电机的工作方式无关紧要。这使得与一群人一起制造汽车变得非常容易。只要每个人都知道所有组件将如何交互,组件就可以单独构建。
现在把你的程序想象成一辆汽车。您将构建所有组件,然后它们将一起工作以形成程序。其中一个好处是您可以独立开发零件。第二个优点是,使用多个类可以为您的程序提供更好的结构。文件保存组件没有风险可以继承覆盖某些备份组件的数据,因为类可以选择它们公开的数据以及方式。
将课程划分为课程的好方法是考虑责任。例如,在汽车中,发动机负责让车轮移动,油箱负责保持燃料...... ......有两种主要的责任类型:做某事并了解某些事情。类可以设计为执行某些任务,也可以保存某些信息。如果你想了解更多信息,可以使用面向对象的设计和掌握。掌握是一套使OO设计更容易的规则。
答案 5 :(得分:0)
不变量归类所有。每当你有两个或多个变量/对象并且必须在它们之间保持不变量时,你应该创建一个维护不变量的类。