C++程序设计:原理与实践(进阶篇)17.1 为什么要使用图形-阿里云开发者社区

开发者社区> 华章出版社> 正文

C++程序设计:原理与实践(进阶篇)17.1 为什么要使用图形

简介:

摘要

Programming: Principles and Practice Using C++, Second Edition

一个显示模型

直到20世纪30年代,世界才从黑白变成彩色的。

——Calvin’s dad

本章描述了一个显示模型(GUI的输出部分),并给出了使用方法和一些基本概念,如屏幕坐标、线和颜色等。Line、Lines、Polygon、Axis和Text都是Shape的实例。Shape是内存中的一个对象,我们可以将其显示在屏幕上并进行适当的操作。后面两章将进一步探讨这些类,第18章侧重类的实现,第19章侧重设计问题。


17.1 为什么要使用图形


为什么我们要用四章篇幅介绍图形,一章篇幅介绍GUI(图形用户界面)?毕竟,本书主要讲述程序设计而不是图形学。实际上有很多非常有趣的话题,我们不可能一一讨论,在这里只是介绍与图形有关的内容。那么,为什么要使用图形呢?从本质上讲,图形学是一个学科,在其学习过程中,我们可以对软件设计、程序设计及其语言特性等重要的领域进行深入的探讨。

图形很有用。虽然在使用GUI时,更多工作仍在于程序设计而非图形,更多在于软件设计而非编写代码。但是,图形在很多领域都非常重要,例如,对于科学计算、数据分析或者任何一个量化问题,没有数据图形化功能是不可想象的。第20章给出了一个简单(但通用)的数据图形化工具。

图形很有趣。在多数计算领域中,一段代码的效果是很难立刻呈现出来的,即便最后代码没有bug了,也无法立刻看出来。这时,即使图形没有用,我们也会倾向于使用图形界面来获得即时效果。

图形提供了许多有趣的代码。通过阅读大量程序代码,可以找到一种对代码好坏的判断标准,就像要成为好的作家必须阅读大量书籍、文章和高质量的报纸一样。由于程序代码与屏幕显示有某种直接关系,图形代码比复杂程度接近的其他类别的代码更易于阅读。经过本章几分钟的介绍你就能够阅读图形代码,再经过第18章的学习就能编写图形代码。

图形设计实例非常丰富。实际上,设计和实现一个好的图形和GUI库是很困难的。图形领域中有非常丰富的具体、贴近实际的例子,可供学习设计策略和设计技术。通过相对较少的图形和GUI代码,就能展示包括类的设计、函数的设计、软件分层(抽象)、库的创建等在内的许多技术。

图形有利于解释面向对象程序设计的概念及其语言特征。与传闻相反,面向对象程序最初并不是为了图形化应用所设计的(参见第22章),但它确实很快就应用到图形领域中,而且图形化应用提供了一些非常易于理解的面向对象设计实例。

一些关键的图形学概念不是那么简单直白的。因此应该在教学中进行讲授,而不是留待你靠自己的主动性(以及耐心)去学习理解。如果我们不展示图形和GUI程序的实现方法,你可能会认为它们是不可思议的魔法,这显然偏离了本书的一个基本目标。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接