




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、面向对象编程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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年体检行业竞争态势与服务质量改进研究报告
- 工业制造行业2025年计算机视觉缺陷检测技术应用前景研究报告
- 教育变革实践2025年成人教育终身学习体系与平台运营趋势研究
- 电商平台知识产权保护与网络版权保护法律援助报告
- 2025年咖啡连锁品牌市场布局与扩张战略实施效果评估报告
- 2023年网络规划设计师考前模拟试题及答案
- 2024-2025学年福建省三明市五县联盟高一(下)期中数学试卷(含答案)
- 2025年酒水库存管理及物流配送合同
- 二零二五年度宽带专线网络托管服务合作协议
- 2025版体育产业抵押担保合同法律审查意见书
- 2025年高级维修电工资格考试理论知识模拟题库及答案
- 学堂在线 高技术与现代局部战争 章节测试答案
- 煤矿职业病防治讲义课件
- 2025发展对象考试题库(带答案)
- 测井工岗位实习报告
- 2025至2030三元乙丙橡胶密封制品行业产业运行态势及投资规划深度研究报告
- 应急与消防培训课件
- 消化内镜室医院感染管理制度
- 精神科专科监护技能课件
- 2024-2025学年辽宁省七年级数学第一学期期末经典试题含解析
- 压疮的中医护理措施
评论
0/150
提交评论