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

上传人:sccc 文档编号:5292178 上传时间:2023-06-22 格式:PPT 页数:60 大小:248.51KB
返回 下载 相关 举报
面向对象课件(第一章).ppt_第1页
第1页 / 共60页
面向对象课件(第一章).ppt_第2页
第2页 / 共60页
面向对象课件(第一章).ppt_第3页
第3页 / 共60页
面向对象课件(第一章).ppt_第4页
第4页 / 共60页
面向对象课件(第一章).ppt_第5页
第5页 / 共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 LanguageC与C+C+

2、的特点,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+语言结构,一个简单程序 hello.cpp C+语言符号

3、 C+语法符号 C+程序构成成分 C+程序构成部件,一个简单程序:/*file:hello.cpp A Simple Program:Output“Hello”*/#includeint 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.718282.字符 A,a,4,*,.3.字符串“Hello,world”“Sorry,you en

4、tered wrong number!”,4.配对使用的符号如:、()、5.表示注释的符号如:/*、*/、/6.运算符如:+、-、*、/、&、|、!、=等7.标识符预定义:main、include、cout、cin自定义:number、i1、_get_char,6.运算符,算术运算符:+、-、*、/、%逻辑运算符:&、|、!比较运算符:=、!=、=赋值运算符:=自增自减运算符:+、-条件运算符:?:其他运算符:*、&、:等,7.标识符,标识符的作用 标识符的构成规范 标识符分类 注意,标识符的作用,标识符:用来表示常量、变量、数组、指针、函数、类及对象等。,标识符构成规范,标识符由字母、数字和

5、下划线_组成标识符必须以字母或下划线开头标识符区分大小写,标识符分类,预定义标识符:(保留字)main void int float char returnclass if else do while自定义标识符:PI,ARRAY_NUMBER,NAMEal,number,get_char,sub1_totalPeople,Student,Date,使用标识符需注意:自定义标识符不能用系统的保留字尽量使用有意义的单词作标识符常用的标识符形式有以下几种:1、单词之间用下划线连接,如:my_car2、骆驼表示法,如:MyCar,SizeOfString3、匈牙利标记法,如:iMyCar,ipMyC

6、ar,C+程序构成,程序=注释+数据+操作例:用户输入圆的半径Redius,程序输出圆的周长注释:程序的说明部分数据:整数、小数、字符、字符串等操作:定义、输入、运算、输出,/*用户输入圆的半径Redius,输出圆的周长*/,#include const float PI=3.14159;int main()int redius;float perimeter;/数据定义cout redius;/数据输入perimeter=2*PI*redius;/数据运算cout“Perimeter of the circle:”perimeter;return 0;/-常数、-常量标识符、-变量标识符、-

7、字符串,C+程序构成-注释,注释形式一:由符号对/*和*/括起来的文本形式二:由符号/开始的一行文本如:/*This is a comments example that can occupy multiple lines*/This is a one-line comments example,C+程序构成-数据,数据 常数:123,3.14,-32,A,”Hello”常量标识符:PI,LINE_NUMBER 变量标识符:number,grade,C+程序构成-数据,数据类型:1、简单数据类型整数、字符、小数等2、构造数据类型数组、指针、引用、结构、类等,C+程序构成-操作,1、数据定义2、

8、数据输入3、数据运算4、数据赋值5、数据输出,数据操作-数据定义,数据要求先说明,后使用说明程序中使用的数据:常量和变量说明它们的数据类型、初始值int grade=100;/整型变量float radius=12.45;/浮点型变量const char CH=E;/字符常量int ia10;/整型数组,数据操作-数据输入,从键盘、文件或数据库中读入数据 如:从键盘读入数据:cin radius;/读入一个小数cin grade;/读入一个整数cin ex;/读入一个字符,数据操作-数据运算,利用运算符对数据进行运算如:12+34+78.69;2*PI*radius;grade_sum/STU

9、D_NUM;,数据操作-数据赋值,将表达式运算的结果赋给变量如:sum=12+34+78.69 circum=2*PI*radius average=grade_sum/STUD_NUM,数据操作-数据输出,将数据或运算结果输出到屏幕、文件或数据库如:将数据输出到屏幕上cout radius*33.6;cout grade;cout CH;,数据操作与表达式,表达式是由操作数和操作符按照一定语法规则构成的符号序列操作数:常数、常量标识符、变量标识符操作符:输入、运算、赋值、输出,C+程序构成部件,语句 函数 类 文件,C+程序构成部件-语句,语句是程序中可以执行的基本单元 程序的执行过程就是语

10、句的执行过程 表达式语句是程序的主要组成成分表达式+分号 表达式语句,语句的分类,1、说明和定义语句说明或定义常量、变量、函数或类2、表达式语句由表达式加上分号构成的语句3、流程控制语句控制语句的执行流程,语句-说明和定义语句,说明或定义程序中用到的变量、常量、函数或对象int grade;/变量const float PI=3.14159;/常量void swap(int/对象,语句-表达式语句,输入语句:cin a;赋值语句:a=b+c;运算语句:a+;输出语句:cout a;函数调用语句:swap(a,b);返回语句:return a+b;空语句:;,语句-流程控制语句,语句的执行一般是

11、顺序执行的 可以通过流程控制语句改变程序的执行流程 分支语句(if,switch)循环语句(dowhile,while,for)跳转语句(break,continue,goto),语句-流程控制示意图,C+程序构成部件-函数,语句与函数的关系函数构成函数分类函数调用,语句与函数的关系,函数是C+程序的主要组成成分语句在函数中体现,语句是函数的主体,函数构成,返回值 函数名(参数表)/函数头函数体函数构成=函数头+函数体例:,函数举例,void fatal_error(char msg)cout“Error.”msg endl;cout“Please contact the Developern

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

13、、多态,C+程序构成部件-类,封装了数据和操作成员具有公有、保护和私有三种访问限制 引入类后,程序的主体从函数转化为类,类的定义,class PEOPLEpublic: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.

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

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

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

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号