void main ∥主函数开始 ∥声明用于存储学生信息的变量 描述学生的数据 char str StudentName 201 学生姓名 int nStudentage; ∥学生年龄 char cStudentsex: ∥学生性别 int nStudentNumber ∥学生学号 ∥声明用于存储老师信息的变量 描述老师的数据 char strTeacherName 20l; 老师姓名 int nTeacherAge 老师年龄 char cTeacherSex: ∥老师性别 int nIs Teaching; ∥是否授课 函数 ∥输入模块 GetstudentInfo(…);1 ∥输入学生信息 GetTeacherlnfo(…); ∥输入老师信息 函数 ∥输出模块 PrintstudentInfo(..; 丌输出学生信 PrintstudentInfor…); ∥输出老师信
11 // …… void main() // 主函数开始 { // 声明用于存储学生信息的变量 char strStudentName[20]; // 学生姓名 int nStudentAge; // 学生年龄 char cStudentSex; // 学生性别 int nStudentNumber; // 学生学号 // 声明用于存储老师信息的变量 char strTeacherName[20]; // 老师姓名 int nTeacherAge; // 老师年龄 char cTeacherSex; // 老师性别 int nIsTeaching; // 是否授课 // 输入模块 GetStudentInfo(…); // 输入学生信息 GetTeacherInfo(…); // 输入老师信息 // 输出模块 PrintStudentInfo(…); // 输出学生信息 PrintStudentInfo(…); // 输出老师信息 } 描述学生的数据 描述老师的数据 函数 函数
上面的例子中,我们可以进一步将属于学生和 老师的变量放入结构中。这样可以在一定程度上完 成对数据的封装。但在结构化程序设计中,数据与 对其进行操作的函数仍是分离的。 ∥声明学生结构 Student struct Student char strStudentNamel20l;∥学生姓名 int nStudentage; ∥学生年龄 char cStudentsex: ∥学生性别 int nStudentNumber ∥学生学 声明老师结构 Teacher struct Teacher char strTeacherName[20 老师姓名 int nTeacherAge; 老师年龄 char cTeachersex; ∥老师性别 int nls Teaching; ∥是否教书12 };
12 上面的例子中,我们可以进一步将属于学生和 老师的变量放入结构中。这样可以在一定程度上完 成对数据的封装。但在结构化程序设计中,数据与 对其进行操作的函数仍是分离的。 // 声明学生结构Student struct Student { char strStudentName[20]; // 学生姓名 int nStudentAge; // 学生年龄 char cStudentSex; // 学生性别 int nStudentNumber; // 学生学号 }; // 声明老师结构Teacher struct Teacher { char strTeacherName[20]; // 老师姓名 int nTeacherAge; // 老师年龄 char cTeacherSex; // 老师性别 int nIsTeaching; // 是否教书 };
程序=算法+数据结构 数据结构 算法 描述问题 解决问题 结构化程序设计方法
13 程序=算法+数据结构 数据结构 算法 描述问题 解决问题 结构化程序设计方法
问题: 函数用于完成一定的功能,它们都是针 对特定的数据进行操作的。那么我们能 不能以特定的数据为中心,将数据与对 其进行操作的函数封装起来呢?
14 问题: 函数用于完成一定的功能,它们都是针 对特定的数据进行操作的。那么我们能 不能以特定的数据为中心,将数据与对 其进行操作的函数封装起来呢?
面向对象程序设计方法 面向对象程序设计出现在80年代中后期 面向对象程序设计是建立在结构化程序 设计基础上的,但它不再是从功能入手, 而是从对象(人、地方、事情等)入手 >面向对象程序设计以类作为构造程序的 基本单位,它具有封装、数据抽象、继 承、多态等特点
15 面向对象程序设计方法 ➢面向对象程序设计出现在80年代中后期 ➢面向对象程序设计是建立在结构化程序 设计基础上的,但它不再是从功能入手, 而是从对象(人、地方、事情等)入手 ➢面向对象程序设计以类作为构造程序的 基本单位,它具有封装、数据抽象、继 承、多态等特点