2026/3/24 17:14:17
网站建设
项目流程
中国优秀设计网站有哪些,网店代运营公司方案,怎么弄公司网站,艺术签名在线生成器面向对象是C编程语言的重要特征, 也是C与C语言显著区别的重要标志, 那什么是面向对象呢?
什么是面向对象
这里的对象并不是指我们的男女朋友, 而是由Object所翻译, 指的是具体的物体, 与之相对应的是抽象的类, 类和对象的关系就是物体的普遍性和特殊性的关系, 即一…面向对象是C编程语言的重要特征, 也是C与C语言显著区别的重要标志, 那什么是面向对象呢?什么是面向对象这里的对象并不是指我们的男女朋友, 而是由Object所翻译, 指的是具体的物体, 与之相对应的是抽象的类,类和对象的关系就是物体的普遍性和特殊性的关系, 即一般与个别的关系, 把类转换成对象的过程叫实例化C面向对象主要分成三个模块,分别是封装,继承和多态封装封装就是把属性和行为打包到类里面, 其中属性就是指成员变量, 行为就是指成员函数, 并通过private和public来确定访问权限其中private是常用的私有封装修饰符,类的成员变量几乎都用它修饰, 只能类内访问而public是公有封装修饰符,一般用来修饰类的成员函数,可以允许外部访问下面举一个关于封装的使用例子classRectangle{// 私有属性宽度、高度外部无法直接访问private:doublewidth;// 矩形宽度doubleheight;// 矩形高度// 公有接口对外提供访问和操作的方法public://读取宽度doublegetWidth()const{returnwidth;}// 读取高度doublegetHeight()const{returnheight;}//计算面积doublecalculateArea()const{returnwidth*height;}//计算周长doublecalculatePerimeter()const{return2*(widthheight);}};上面代码描述的是一个名为Rectangle的类,其意思就是说这个类是矩形,这个矩形类里面包含成员变量width和height,也叫属性,分别表示这个这个矩形的宽和高这两个属性, 除了成员变量外还包含成员函数getWidth(),getHeight(),calculateArea(),calculatePerimeter(),也叫成员方法,分别表示读取宽度,读取高度,计算面积,计算周长的方法那么为什么要这么设计呢?为什么要分开private和public呢?这就体现出封装的魅力了。其中一个原因是保护数据的安全,不让外部直接访问这个类的属性而造成数据的篡改,只能通过公有的接口来间接访问属性数据,例如以上代码中是通过getHeight()这个公有的方法来获取width的数据的实例化以上是封装类的过程,面向对象除了类的封装外,还需要有对象的实例化, 什么是实例化呢,就是把抽象的类转变成具体的对象的过程,就是实例化那么怎么把抽象的类转变成具体的对象呢?下面我们将以一段代码举例说明首先我们先完善上面的矩形类的代码,对上述代码添加了修改属性的方法#includeiostreamusingnamespacestd;classRectangle{// 私有属性宽度、高度外部无法直接访问private:doublewidth;// 矩形宽度doubleheight;// 矩形高度// 公有接口对外提供访问和操作的方法public://读取宽度getter方法doublegetWidth()const{returnwidth;}//读取高度getter方法doublegetHeight()const{returnheight;}// 修改宽度voidsetWidth(doublew){widthw;}//修改高度voidsetHeight(doubleh){heighth;}//计算面积doublecalculateArea()const{returnwidth*height;}//计算周长doublecalculatePerimeter()const{return2*(widthheight);}};然后我们对类进行实例化intmain(){// 1. 实例化单个矩形对象调用编译器默认的空构造函数Rectangle rect;// 2. 为对象的私有属性赋值宽4.0高5.0可自行修改数值rect.setWidth(4.0);rect.setHeight(5.0);// 3. 调用方法输出对象的相关信息cout矩形的宽度rect.getWidth()endl;cout矩形的高度rect.getHeight()endl;cout矩形的面积rect.calculateArea()endl;cout矩形的周长rect.calculatePerimeter()endl;return0;}通过成员方法setWidth()和setHeight给对象的width和height属性赋值,然后通过getWidth()和getHeight()读取其属性信息,通过calculateArea()和calculatePerimeter()对属性数据进行运算,得出以下结果:上面的过程就是类转化为对象的过程,也就是实例化由于篇幅所限,本问主要简述的是C面向对象的封装模块,后续将会继续简述继承和多态的内容总结本文主要讲述了C面向对象之封装的主要内容,重点简述了类和对象的主要关系,并通过代码示例来展示类实例化对象的过程~如果文章对你有帮助的话,欢迎点赞和收藏哟~