类与对象北京理工大学计算机系金旭亮第十讲第二部分面向对象编程篇北京理工大学计算机系32020/1/23程序设计方法的演变函数与算法函数输入数据输出数据北京理工大学计算机系42020/1/23程序设计方法的演变函数构成模块,结构化的编程方式北京理工大学计算机系52020/1/23程序设计方法的演变流行的面向对象语言简介Object-orientedProgram(OOP)用一种面向对象的语言来实现OOD完成的系统设计Java、C++、ObjectPascal、C#、VB.net……北京理工大学计算机系62020/1/23数据的抽象化在整个系统中,有哪些参与的对象?这些对象有哪些属性?这些对象如何与外界交互?北京理工大学计算机系72020/1/23对象的描述属性:对象在各方面的性质和状态,用数据变量来表示;行为:对象所具有的功能,用函数来表达接口:向外公开的对象的“属性+行为”。北京理工大学计算机系82020/1/23类在C++中以类来封装一个现实中的对象classAccount{public:Account();//预设建构函数~Account();//解构函数voidDeposit(int);voidWithDraw(int);intCheckBalance()const;floatCheckRate()const;staticintCount;//static变数private:staticfloatRate;//static变数intBalance;charId[20];};北京理工大学计算机系92020/1/23成员函数的实现使用inline函数实现。示例:AccountClass.h在外部实现。实例:MyDS.h,MyDS.cpp北京理工大学计算机系102020/1/23信息隐藏类的公共接口与私有实现代码的分离优点:(1)易修改(2)易调试北京理工大学计算机系112020/1/23练习为以下两个类编写接口:DatePoint北京理工大学计算机系122020/1/23类与类的实例类使用的基本步骤(1)new一个对象(2)使用它(3)delete它一个类可以创建多个实例,每个实例都有相同的方法,但拥有不同的属性值北京理工大学计算机系132020/1/23类的创建与销毁1构造函数多构造函数,拷贝构造函数2析构函数实例分析:AccountMain.cppAccountDef.cppAccountClass.h北京理工大学计算机系142020/1/23电梯模拟实例分析电梯的基本功能:(1)呼叫电梯(2)选择楼层(3)电梯运送人到目的地设计接口编码实现:ElevatorClass.hElevatorDef.cppElevatorMain.cpp北京理工大学计算机系152020/1/23业余作业编写自定义的数组类MyArray,其接口:(1)IndexOf(值):查找指定值是否在数组中存在(2)Reverse():将数组中的所有元素反转(3)Length():获取数组的大小