1第2章程序设计基础2内容提要•程序设计方法与风格•结构化程序设计•面向对象的程序设计方法,对象、方法、属性及继承与多态性32.1程序设计方法与风格•2.1.1程序设计方法–结构化设计方法•模块内部程序各部分要按照自顶向下的结构划分•各程序部分应按功能组合•各程序之间的联系尽量通过调用子程序来实现,不用或少用GOTO方式–面向对象程序设计方法42.1.2程序设计风格•原则:清晰第一,效率第二•1.源程序中的内部文档–符号名的命名:有一定实际含义–程序的注释:•序言性注释•功能性注释–程序的视觉组织:层次清晰•2.数据说明–数据说明的次序规范化–说明语句中变量安排有序化–使用注释来说明复杂数据的结构52.1.2程序设计风格(续)•3.语句的结构–在一行内只写一条语句–程序编写应优先考虑清晰性–清晰第一,效率第二–在保证程序正确的基础上再要求提高效率–避免使用临时变量前使程序的可读性下降–避免不必要的转移–尽量使用库函数–避免采用复杂的条件语句–尽量减少使用“否定”条件语句–数据结构要有利于程序的简化–要模块化,使模块功能尽可能单一化–利用信息隐蔽,确保每一个模块的独立性–从数据出发去构造程序–不要修补不好的程序,要重新编写62.1.2程序设计风格(续)•4.输入和输出–对输入数据检验数据的合法性–检查输入项的各种重要组合的合理性–输人格式要简单,使得输入的步骤和操作尽可能简单–输人数据时,应允许使用自由格式–应允许缺省值–输入一批数据时,最好使用输入结束标志–在以交互式输入/输出方式进行输人时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息–当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式73.2结构化程序设计•基本思想–关于GOTO语句–工程思想–结构化思想–自顶向下,逐步求精,模块化,限制使用GOTO语句82.2.1结构化程序设计的原则•1.自顶向下•2.逐步求精•3.模块化•4.限制使用GOTO语句92.2.2结构化程序的基本结构与特点•三种基本结构–顺序结构–选择结构–重复结构102.2.2结构化程序的基本结构与特点(续)•顺序结构112.2.2结构化程序的基本结构与特点(续)•选择结构–又称分支结构–简单选择结构–多分支选择结构122.2.2结构化程序的基本结构与特点(续)•重复结构–又称为循环结构–当型–直到型132.2.2结构化程序的基本结构与特点(续)•特点–关系清晰、易读、易理解性好、易维护。–“自顶向下、逐步细化”,提高效率,降低成本142.2.3结构化程序设计原则和方法的应用•用有限的控制结构•一个入口和一个出口•每块只有一个入口和一个出口•使用嵌套•前后一致•避免GOTO语句152.3面向对象的程序设计•2.3.1关于面向对象方法–对系统的复杂性进行概括、抽象和分类,使软件的设计与现实形成一个由抽象到具体、由简单到复杂这样一个循序渐进的过程,从而解决大型软件研制中存在的效率低、质量难以保证、调试复杂、维护困难等问题。–结构化的分解突出过程,即如何做(Howtodo)?它强调代码的功能是如何实现的;面向对象的分解突出现实世界和抽象的对象,即做什么(Whattodo)?162.3.1关于面向对象方法(续)•主要优点–与人类习惯的思维方法一致–稳定性好–可重用性好–易于开发大型软件产品–可维护性好172.3.2面向对象方法的基本概念•1.对象(Object)–对象是基本的运行时认得实体,它既包括数据(属性),也包括作用于数据的操作(行为)。–一个对象把属性和行为封装为一个整体–一个对象通常可由对象名、属性和操作3部分组成182.3.2面向对象方法的基本概念(续)•对象特点–标识惟一性–分类性–多态性–封装性–模块独立性好192.3.2面向对象方法的基本概念(续)•2.类和实例–类是具有共同属性、共同操作方法的对象的集合,是对象的抽象–对象是其对应类的一个实例202.3.2面向对象方法的基本概念(续)•3.消息–对象之间进行通信的机制–三部分组成•接收消息的对象的名称•消息标识符(消息名)•零个或多个参数212.3.2面向对象方法的基本概念(续)•...