版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、面向对象编程1、 什么是对象、什么是面向对象1) 万物皆对象2) 世界是由一组相互之间紧密联系的对象组成3) 通过将对象按照属性和行为共性进行分类,达到将具体事物进行抽象的效果4) 通过程序的语法表达对对象属性和行为的抽象——面向对象5) 将面向对象的思想应用于编程的过程——面向对象编程(OOP)2、 为什么要面向对象1) 面向对象的编程思想适合于大型软件的开发2) 面向对象的编程方法能够有效地提高软件开发的效率3) 借助强大的逻辑建模能力将问题域和方法域有机地统一起来4) 软件工业的发展趋势3、 怎么面向对象1) 熟练掌握至少一种面向对象语言(C++/Java/C#)2) 精通至少一种面向对象语言的元语言,如UML语言3) 深入学习设计模式和面向对象的设计方法GOF——《设计模式》—、类学生属性:姓名、年龄行为:学习类就是通过对属性和行为的抽象,描述一组对象的语法结构。类的定义class类名{};如:classStudent{};通过成员变量表达属性class类名{类型成员变量名;};如:classStudent{stringm_name;intm_age;通过成员函数表达行为class类名{返回类型成员函数名(形参表){函数体;}};如:classStudent{stringm_name;intm_age;voidlearn(conststring&lesson){}};将成员函数声明和定义分开classStudent{stringm_name;intm_age;voidlearn(conststring&lesson);};}通过访控属性约束属性和行为的访问方式公有成员:public,谁都可以访问私有成员:private,只有自己可以访问保护成员:protected,只有自己和自己的字类可以访问classStudent{private:stringm_name;intm_age;public:voidlearn(conststring&lesson){}};示例:student.cpp#include<iostream>usingnamespacestd;classStudent{public:cout<<m_age<<"岁的"<<m_name<<"同学"<<"在学<<lesson<<"o"<<endl;}voidsetName(conststring&name){if(name=="二")cout<<"error"<<endl;elsem_name=name;}voiesetAge(intage){if(age<0)cout<<"无效年龄”<<endl;elsem_age=age;}private:stringm_name;intm_age;};intmain(void){Studentstudent;student.setName("二”);student.setAge(-100);student.setName("张飞,student.setAge(25);student.learn("C++");return0;}构造函数class类名{类名(形参表):初始化表{函数体;}};初始化表可有可省略。当该类的对象被创建时,相应类型的构造函数被自动执行。创建对象的同时提供构造实参表,与构造函数的形参匹配。示例:student.cpp#include<iostream>usingnamespacestd;classStudent{public:Student(conststring&name,intage){m_name=name;m_age=age;}voidlearn(conststring&lesson){cout<<m_age<<"岁的"<<m_name<<"同学"<<"在学”<<lesson<<"o"<<endl;}private:stringm_name;intm_age;};intmain(void){/*在栈里定义对象*/Studentstudent("zhangfei",25);//括号里是构造实参,传递给student的构造函数攵/*用new在堆里面定义对象*/Student*ps=newStudent("zhaoyun”,24);ps-】earn("UNIX-C");deleteps;}1)构造函数可以重载,用参数表区分Student(conststring&name,intage){m_name=name;m_age=age;}Student(void){m_name="匿名”;m_age=0;}intmain(void){/*堆中定义对象*/调用无参构造函数Student*ps=newStudent。;//写不写小括号没关系, newStudentps->learn("标C");deleteps;/*栈中定义对象*/调用无参构造函数Students2;//不要写成Students2(),编译器会误认为函数攵声明s2.learn("标C");return0;2)缺省构造函数如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扶持民族地区教育进步政策
- 无齿锯使用安全技术交底培训
- 2026中小学生生命教育与挫折教育主题班会课件
- 防火防盗安全措施培训课件
- 2026 年月圆中秋 安全相伴假期主题班会课件
- T/CCAA 105-2024绿色低碳加油站评价技术规范
- 深度工作自我训练清单
- DB23-T 3403-2023 黑龙江省矿产资源资产清查技术规程
- 预应力孔道封锚砂浆配合比设计方案
- 人才培养:从理念到落地
- 越南新矿产资源法下中国企业投资的机遇与挑战:基于政策分析与实践探索
- 第5课 古代希腊 课件 统编版(新教材)历史九年级上册
- 2026(青岛版新教材)数学三年级上册全册数学教学设计
- 失能老年人健康评估服务工作细则
- 2026南方基金金融科技专场校园招聘笔试历年难易错考点试卷带答案解析
- 学校食堂留样柜双人双锁工作制度
- 水厂安全保卫工作制度
- 从零开始学量价分析(短线操盘-盘口分析与A股买卖点实战)
- 2026年湖南省高职单招职业适应性测试考试题库及答案解析
- 躯体症状障碍的诊疗与心理干预
- 公路工程监理培训制度
评论
0/150
提交评论