oop - 面向对象编程 - 何时添加新类?

标签 oop class object

我仍在大量学习 Objective-C 的基础知识,但我仍在努力掌握对象和类。

我理解通常的类比:“汽车”是类,“福特”是该类的对象,具有某些属性,例如“颜色”和“制造年份”。我不明白的是如何在实际中使用它。

假设我正在创建一个具有所有常用功能的基本 Web 浏览器(加载页面、显示页面、将页面添加为书签、打印页面)。除了简单的变量和方法之外,我似乎无法想到这样的应用程序。您知道,您单击一个按钮,它会调用一个方法,该方法操纵一些变量。我也忍不住认为这将是一页很长的代码,所以我知道这将有助于分解它。

很抱歉,如果这一切都非常模糊,我只是觉得很难理解什么时候应该创建新类,什么时候可以向我已经在工作的类中添加另一个方法。

亲切的问候。

最佳答案

新类(class)的很多提示

  • 当您可以命名某些东西时,如果您的代码中有一个可以命名的概念,那么它是新类的良好候选者。
  • 如果您有多个操作相同变量的函数。如果您最终将相同的变量传递给多个函数,那么这些变量和函数很可能应该是一个类
  • 从任何复杂的代码中提取好的功能。这应该是你的首要任务,做好一件事的好功能。然后看看函数是否都与一个概念相关并在一个类中组合在一起。
  • 你有很多代码做同样的事情,但处理不同的变化。然后你有一个抽象/接口(interface)和几个子类。

  • 基本上,不要害怕上课....只要下注然后去做。如果看起来类只是让事情变得尴尬。你刚刚学到了一些东西。因此,您需要重新考虑设计并找到另一种分解/抽象事物的方法。一切都是为了尝试。

    开始查看设计模式,您将开始看到其他人处理尴尬情况的一些常见方式更加优雅。

    关于oop - 面向对象编程 - 何时添加新类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7226335/

    相关文章:

    oop - 使用 $cast 函数和任务在 SV 中进行动态转换

    Swift:将基本协议(protocol)类型转换为子协议(protocol)的泛型

    javascript - 为什么类嵌入循环似乎遵循不同的分配规则?

    class - Crystal - 复制一个类

    java 硬币柜台 25 美分/10 美分/5 美分/5 便士

    c++对象数组,初始化失败

    .net - jquery 类似 c#/.Net 中的扩展

    objective-c - 想知道如何在算术运算中处理 nsnumber 对象

    java - 业务、系统、接口(interface)、持久性类是什么意思?

    c# - 尝试将对象添加到类中的列表时出现 "Object reference not set to an instance of an object"错误