资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C+语言程序设计 (自学),计算机学院 陈彩 桂智明 信南305B,课程相关信息,主讲教师 陈彩,chencaibjut.edu.cn 桂智明, zmguibjut.edu.cn 信南305B 课程网站 http:/eol.bjut.edu.cn 用户名:八位学号,初始密码:八位学号(自行修改),教材,C+语言程序设计(第4版),清华大学出版社,郑莉等编著。 C+语言程序设计(第4版)学生用书 参考书: C+ primer 中文版(第四版),Stanley B. Lippman等著,人民邮电出版社 其他书,课程安排,开学初一次集体辅导。11月5日7/8节题目答辩。 自学前8章,每周从教育在线提交作业。 要严格按“教学日历”进度完成学习,提交作业。 作业从教育在线提交,过时不能再提交作业,严重影响平时成绩。 每班同学分组共同学习和参加“CPP三人行”活动。 内容详见教育在线本课程网站的“CPP三人行”活动方案”。 预计在13周,11月26日周二7、8节期末闭卷考试。 成绩分布:考试50%,活动40%,平时10% 答疑:教育在线答疑,见面答疑112周,周二7、8节,信南305B。,教育在线,你的8位学号是用户名,也是初始密码,请自行修改密码。校内,校外都能访问教育在线。 课程介绍: 教学大纲:自学内容,也是考试内容。 教学日历:打印下来,按内容要求和时间安排自学。 课程通知:有事随时关注,不再另行通知。 课件资料:老师课件,其他资料。 课程作业: 所有课后习题,有答案,不需提交。 需要提交作业,每周二提交,过时不能提交,影响成绩。,“CPP三人行”活动宗旨和内容,目的与宗旨 通过趣味小组的学习、竞赛活动完成课程设计 激活学生的学习兴趣 营造自学的学习氛围 思维的相互碰撞 ,擦出火花 深入理解课程的知识点,提高编程能力。 培养组织才能和团结合作精神。 避免“搭车”现象。 活动内容 见教育在线相关资料。,“CPP三人行”活动方案,分组与分工 三人自由结组,课程学习和活动都以小组为单位进行。 各班班干部负责上报分组情况。(先留联系方式) 下载“CPP三人行”分组情况表” 按时通过邮件上交。 三人分工协作:出题负责人,解答负责人,报告负责人 。 活动方案 小组出题不能缺少知识点,应用背景合理有趣,又不能超出上面所列知识点范围。 上交,答辩,评分,修改,“CPP三人行”活动方案,活动方案 交换题目 老师指定需要交换解答的题目 解答题目 撰写总结报告 最终教师评分的重要依据 有统一格式从教育在线下载出题部分较难,安排答辩环节。,课程介绍,C+是非常重要的程序设计语言 C+程序员是世界上最好的程序员 C+课程虽为自学课程,但非常重要 与其他课程关系 高级语言程序设计(C) Java,面向对象程序设计 Windows编程基础 数据结构与算法 其他,开放式教学理念,针对自己制定个性化的自学方案 开放式教学 开放学习内容。以要求的学习内容为基础扩展,目的在提高程序开发能力。 开放的阅读范围。以教材为基础,大量阅读其它书籍、网上材料等。欢迎同学将自己看到的好文章,好程序贴到网上,大家共享。 开放学习心态。多找老师、同学讨论,欢迎在网上提出问题和回答别人的问题。鼓励营造专题辩论的环境,积极参与讨论。在小组合作中提高兴趣,锻炼能力。,学习内容简介,C+语言 C+编译环境:Visual C+ 6.0 给实际问题提供解决方案的能力 面向对象的程序设计思想 用c+语言编写程序,正确、高效实现设计思想 规范、友好的程序代码,面向对象与面向过程,面向过程的结构化程序设计 按功能划分:自顶向下,逐步求精 面向对象的程序设计方法 数据、数据结构及其上的操作-类 面向对象的语言有许多种 C+很有代表性 面向对象方法优点 对象更真实的反映现实世界,使程序更易设计 便于数据隐藏,是对象更易使用 对象是独立的代码单元 提高可重用性、可维护性,提高开发效率,更能适应开发需求的变更,降低了成本。,1: struct Data 2: 3: int d; 4: ; 5: void increase_data(Data* data) 6: 7: printf(“过程调用,数据为: %d“, +data-d); 8: 9: increase_data(,1: public class DataWorker 2: 3: private int data; 4: public void Increase() 5: 6: Console.WriteLine(“对象调用,数据为: 0“, +data); 7: 8: 9: new DataWorker().Increase();,面向对象设计方法的四个核心概念,一、抽象 ,所谓抽象是指从许多事物中,舍弃个别的、非本质的属性,抽取出共同的、本质的属性。抽象包括过程抽象和数据抽象所谓过程抽象是指功能抽象,即舍弃个别的功能,抽取共同拥有的功能,,面向对象设计方法的四个核心概念,将对象的属性和行为分别用数据结构和方法描述,并将它们绑定在一起形成一个可供访问的基本逻辑单元。(通过访问属性限制对对象属性的操作),二、封装,面向对象设计方法的四个核心概念,指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用。,三、继承,面向对象设计方法的四个核心概念,四、多态性,不同的类对象收到同一个消息可以产生完全不同的响应效果,这种现象叫做多态。,多态性依托于继承性,以面向对象的角度去进行程序设计,需要至少以下三步:发现(设计)对象; 确定对象的职责; 确定对象间的相互关系。类是具有相同行为对象的模板,通过同一个类创建的不同对象具有相同的行为,对象是类的一个具体例子(实例),我们面向对象设计程序时,一般从类的设计开始,面向对象编程实例,问题:一辆车沿着某种运动轨迹划过屏幕,开始,结束,生成车图像,再来一遍?,车图像所有组成部分 调用运动函数在屏幕上运动,Y,N,主模块,运动模块,生成车图像模块,面向过程编程 经典的面向过程的编程语言-C 问题:一个球沿着某种运动轨迹划过屏幕 问题深入:一辆卡车沿着某种运动轨迹跑过屏幕 问题深入:一辆巴士沿着某种运动轨迹跑过屏幕图像不同 运动轨迹不同需要修改程序哪些部分?,面向过程与面向对象,开始,结束,生成球图像,再来一遍?,球图像所有组成部分 调用运动函数在屏幕上运动,Y,N,生成卡车图像,卡车图像所有组成部分 调用运动函数在屏幕上运动,需要修改大部分程序,面向过程与面向对象,面向对象编程 面向对象的思维基础-对象的抽象 经典的面向对象的编程语言-C+抽象出共性-属性、行为 属性:定位点、名、编号,图片名等 行为:运动,面向过程与面向对象,抽象出共性-属性、行为 都是运动物体 属性:定位点、名、编号等 行为:运动 个性-属性、行为 属性:图像不一样 行为:运动轨迹不一样,抽象共性 派生个性 隐藏数据 规范操作,基类:运动物体 定位点 名 编号 虚拟运动轨迹函数 获得点位置函数等,派生类:卡车 兔子图像 运动轨迹函数,派生类:巴士 球图像 运动轨迹函数,。,当运动物体不同、运动轨迹不同时,如何修改程序?,C+语言表达,类class 抽象的描述 属性和行为 对象object 实体 构成系统基本单位,class CMoveObject private:int m_Position; public:void Move(int Pos);int GetPosition() return m_Position; ; CMoveObject point; int pos = point.GetPosition(); point.Move(pos); Class CRabbit : public CMoveObject public:void Show() . ;CRabbit Wrabbit;int pos = Wrabbit.GetPosition();Wrabbit.Show();Wrabbit.Move(pos);,总结,面向对象首先抽象对象-数据结构 分析对象之间的关系与协作 面向对象方法: 各种对象组成客观世界 各种对象有内部状态和运动规律 不同对象相互作用组成系统,总结,封装 Encapsulation 将属性和行为结合成一个独立的系统单位,尽可能隐藏对象的内部细节。 如:类,公有成员、私有成员。 继承 Inheritance 子类拥有父类的特征,派生自己的个性。 如:从运动基类派生球、兔子、飞机类。 多态 Polymorphism 祖先类中定义的行为,在各子类中表现出不同的行为。 如:随都是调用运动函数,但兔子和飞机的对象是按自己的运动轨迹运动。,面向对象程序设计方法是指用面向对象的方法指导程序设计的整个过程,所谓面向对象是指以对象为中心,分析、设计及构造应用程序的机制。,总结,所有待处理的内容都表示成对象; 对象间依靠相互发送消息或响应消息实现通信; 每个对象都有自己的惟一标识,以便区别属于同一个类的不同对象; 对象一定属于某个类,我们又将这个对象称为所属类的一个实例; 类是将具有共同属性的对象进行抽象的结果,它可以具有层次关系,即一个类既可以通过继承其他类而来,也可以被其他类继承。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号