面向对象课件(第一章).ppt

上传人:本田雅阁 文档编号:2124277 上传时间:2019-02-19 格式:PPT 页数:60 大小:248.51KB
返回 下载 相关 举报
面向对象课件(第一章).ppt_第1页
第1页 / 共60页
面向对象课件(第一章).ppt_第2页
第2页 / 共60页
面向对象课件(第一章).ppt_第3页
第3页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《面向对象课件(第一章).ppt》由会员分享,可在线阅读,更多相关《面向对象课件(第一章).ppt(60页珍藏版)》请在三一文库上搜索。

1、面向对象 程序设计基础 主讲人:高天真,教材与参考书,面向对象程序设计基础,李师贤等,高等教育出版社,2003年4月版 C+语言基础教程,吕凤翥著, 清华大学出版社,2002年3月版 C+ PROGRAM DESIGN An Introduction to programming and Object-Oriented Design,英文版, COHOON&DAVIDSON,3rd Edition 清华大学出版社,2002年1月版,第一章 程序设计与C+语言初步,1.1 C+介绍 1.2 C+语言结构 1.3 C+程序的书写风格 1.4 C+程序的实现,1.1 C+介绍,OOP Languag

2、e C与C+ C+的特点,OOP Language,程序设计方法的发展: 结构化 面向对象 OOPL可分为两类: 1、 Pure OOP 典型代表:Smalltalk,Eiffel,Java等 2、对传统语言进行面向对象的扩展 典型代表:C+,C与C+的关系,1、二者本质区别: C: 面向过程,支持结构化程序设计 C+:面向对象,支持面向对象程序设计 2、二者关系: C+:包含了C的全部内容,是对C的扩展 C: 是C+的一个子集 注: OOP!=C+,C+的特点,既支持结构化的程序设计,也支持面向对象的程序设计,这是C+语言成功的重要原因 是一种有生产力的OOP语言,1.2 C+语言结构,一个

3、简单程序 hello.cpp C+语言符号 C+语法符号 C+程序构成成分 C+程序构成部件,一个简单程序: /* file:hello.cpp A Simple Program:Output “Hello” */ #include int main( ) cout“Hello”; /输出“Hello” return 0; ,C+语言符号,26个英文字母 a,b,c,.,z,A,B,C,Z 10个数字 0,1,2,3,4,5,6,7,8,9 其他符号 !,#,%,&,*,( ),+,-,/, , ,C+语法符号,1. 数 整数:0,123,-32 小数:3.14,0.71828 2. 字符 A

4、, a, 4, *, , 3. 字符串 “Hello,world” “Sorry,you entered wrong number!”,4. 配对使用的符号 如: 、 、( )、 5. 表示注释的符号 如:/*、*/、/ 6. 运算符 如:+、-、*、/、&、|、!、=等 7. 标识符 预定义:main、include、cout、cin 自定义:number、i1、_get_char,6. 运算符,算术运算符:+、-、*、/、% 逻辑运算符:&、|、! 比较运算符:=、!=、= 赋值运算符: = 自增自减运算符: +、- 条件运算符: ?: 其他运算符: *、&、: 等,7. 标识符,标识符的

5、作用 标识符的构成规范 标识符分类 注意,标识符的作用,标识符: 用来表示常量、变量、数组、指针、函数、类及对象等。,标识符构成规范,标识符由字母、数字和下划线_组成 标识符必须以字母或下划线开头 标识符区分大小写,标识符分类,预定义标识符:(保留字) main void int float char return class if else do while 自定义标识符: PI, ARRAY_NUMBER, NAME al, number, get_char, sub1_total People, Student, Date,使用标识符需注意: 自定义标识符不能用系统的保留字 尽量使用有意

6、义的单词作标识符 常用的标识符形式有以下几种: 1、单词之间用下划线连接,如:my_car 2、骆驼表示法,如:MyCar, SizeOfString 3、匈牙利标记法,如:iMyCar, ipMyCar,C+程序构成,程序 = 注释 + 数据 + 操作 例:用户输入圆的半径Redius,程序输出圆的周长 注释:程序的说明部分 数据:整数、小数、字符、字符串等 操作:定义、输入、运算、输出,/*用户输入圆的半径Redius,输出圆的周长*/,#include const float PI=3.14159; int main( ) int redius; float perimeter; /数据

7、定义 cout redius; /数据输入 perimeter = 2 * PI * redius; /数据运算 cout “Perimeter of the circle:” perimeter; return 0; / -常数、 -常量标识符、-变量标识符、-字符串,C+程序构成-注释,注释 形式一:由符号对/*和*/括起来的文本 形式二:由符号/开始的一行文本 如: /*This is a comments example that can occupy multiple lines*/ / This is a one-line comments example,C+程序构成-数据,数据

8、 常数:123,3.14,-32,A,”Hello” 常量标识符:PI,LINE_NUMBER 变量标识符:number,grade,C+程序构成-数据,数据类型: 1、简单数据类型 整数、字符、小数等 2、构造数据类型 数组、指针、引用、结构、类等,C+程序构成-操作,1、数据定义 2、数据输入 3、数据运算 4、数据赋值 5、数据输出,数据操作-数据定义,数据要求先说明,后使用 说明程序中使用的数据:常量和变量 说明它们的数据类型、初始值 int grade=100; /整型变量 float radius=12.45; /浮点型变量 const char CH=E; /字符常量 int i

9、a10; /整型数组,数据操作-数据输入,从键盘、文件或数据库中读入数据 如:从键盘读入数据: cin radius; /读入一个小数 cin grade; /读入一个整数 cin ex; /读入一个字符,数据操作-数据运算,利用运算符对数据进行运算 如: 12+34+78.69; 2*PI*radius; grade_sum/STUD_NUM;,数据操作-数据赋值,将表达式运算的结果赋给变量 如: sum=12+34+78.69 circum=2*PI*radius average=grade_sum/STUD_NUM,数据操作-数据输出,将数据或运算结果输出到屏幕、文件或数据库 如:将数据

10、输出到屏幕上 cout radius*33.6; cout grade; cout CH;,数据操作与表达式,表达式 是由操作数和操作符按照一定语法规则构成的符号序列 操作数:常数、常量标识符、变量标识符 操作符:输入、运算、赋值、输出,C+程序构成部件,语句 函数 类 文件,C+程序构成部件-语句,语句是程序中可以执行的基本单元 程序的执行过程就是语句的执行过程 表达式语句是程序的主要组成成分 表达式+分号 表达式语句,语句的分类,1、说明和定义语句 说明或定义常量、变量、函数或类 2、表达式语句 由表达式加上分号构成的语句 3、流程控制语句 控制语句的执行流程,语句-说明和定义语句,说明或

11、定义程序中用到的变量、常量、函数或对象 int grade; /变量 const float PI=3.14159; /常量 void swap(int /对象,语句-表达式语句,输入语句: cin a; 赋值语句: a = b + c; 运算语句: a+; 输出语句: cout a; 函数调用语句: swap(a,b); 返回语句: return a+b; 空语句: ;,语句-流程控制语句,语句的执行一般是顺序执行的 可以通过流程控制语句改变程序的执行流程 分支语句 (if , switch) 循环语句 (dowhile , while , for) 跳转语句 (break, continu

12、e, goto),语句-流程控制示意图,C+程序构成部件-函数,语句与函数的关系 函数构成 函数分类 函数调用,语句与函数的关系,函数是C+程序的主要组成成分 语句在函数中体现,语句是函数的主体,函数构成,返回值 函数名(参数表) /函数头 函数体 函数构成=函数头+函数体 例:,函数举例,void fatal_error(char msg ) cout “Error.” msg endl; cout “Please contact the Developern”; exit(-1); ,函数分类(一),预定义库函数 string.h:strlen(), strcpy( ), strcom(

13、) math.h: sin( ), cos( ), sqrt( ) stdio.h: printf( ),scanf( ) 其它库函数 自定义函数 get_number( ) error( ),函数分类(二),通用函数 printf( ) get_char( ) 类的成员函数 STUDENT s; couts.get_name( );,函数调用 main函数由执行环境的操作系统调用 其它函数都由main函数直接或间接调用,C+程序构成部件-类,类与对象是面向对象的核心内容 引入类后,程序的主体从函数转化为类 类的特点:封装、继承、多态,C+程序构成部件-类,封装了数据和操作 成员具有公有、保护

14、和私有三种访问限制 引入类后,程序的主体从函数转化为类,类的定义,class PEOPLE public: PEOPLE(char *name,int age); char *get_name( ); /取姓名 int get_age( ); /取年龄 void inc_age( ); /长一岁 private: char name20; int age; ;,类的实例-对象,PEOPLE john(“John”,29); PEOPLE marry(“Marry”,18); cout“name:”john.get_name( )endl; cout“age:”john.get_age( )en

15、dl; john.inc_age( ); /增长一岁 john.name( ); /错误!,类的特点-封装与隐藏,将算法和数据结构有机集成在一起 传统方法:数据和操作分离 支持模块化程序设计 类成为基本的模块,作为程序设计的基础 保护和私有成员,对外隐藏其内部实现 使程序的可维护性、安全性得到保证,类的特点-继承与派生,class STUDENT: public PEOPLE public: student(char *no,int age,char *s_no,int c_no); char *get_stu_no( ); /取学号 int get_class_no( ); /取班号 voi

16、d charge_class_no( ); /改班号 protected: char student_no8; /学号 int class_no; /班号 ;,继承的好处,减少了开发新的类的工作量 -提高了软件开发的效率 软件复用 -形成了大规模软件生产的基础 提高程序的正确性 -经过严格测试的类,能保证其正确性,C+程序构成部件-文件,文件是编译的基本单位 一个C+程序由多个文件构成,文件包括:头文件和源文件 只有一个文件可以定义main( )函数,它是程序的入口点,(C+语言结构)小结,(C+语言结构)小结,1.3 C+程序的书写风格,尽量提高可读性 (C+语言书写格式灵活、无限制) 基本

17、原则: 1、一般一行写一条语句 2、采用缩格书写方式:表示同一类内容的语 句行要对齐,如:函数体、循环体等 3、每个大括号占一行,并与使用大括号的语 句对齐,大括号内的语句缩格书写且各语 句对齐。,1.4 C+程序的实现,编辑 编译 运行 实现过程中可能出现的错误,C+程序的实现-编辑,编辑 将写好的C+源程序输入并存盘,生成磁盘文件,文件扩展名为 .cpp,C+程序的实现-编译,编译 (分为三个子过程) 1、预处理过程: 执行源程序中的预处理命令,如:include将头文件加入到源程序中 2、编译过程: 进行词法和语法分析,生成目标代码文件 (.obj文件) 3、连接过程: 将用户程序生成的多个目标文件和系统提供的库文件中的 代码连接起来,生成可执行文件(.exe文件),C+程序的实现-运行,执行.exe文件,编译、连接、运行中可能出现的错误,编译时的错误:词法和语法错 连接时的错误:一般是致命错 运行时的错误:算法错、逻辑错,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1