问题是编写程序时面对的第一件事。通常,我们面临“现实生活中”的问题,我们希望通过提供解决问题的程序来使生活更轻松。但是,现实生活中的问题是模棱两可的,我们要做的第一件事就是尝试理解问题,以将必要的细节与不必要的细节区分开:我们试图获取我们自己的问题抽象视图或模型。这种建模过程称为抽象