当前位置: 首页 > news >正文 装修设计网站哪个好用人人开发网站 news 2025/10/30 23:43:21 装修设计网站哪个好用,人人开发网站,为wordpress移动端,百度官方官网一.一些思考 继承是面向对象的三个特性之一。这篇文章我们从底层的角度去理解什么是继承。他的作用是什么。首先继承的出现是更好的避免代码的重复冗余。要理解一件事很重要#xff0c;C其实是C的延申。那么C的出现是为了解决C语言上C祖师爷认为不友好的事情#xff0c;也为… 一.一些思考 继承是面向对象的三个特性之一。这篇文章我们从底层的角度去理解什么是继承。他的作用是什么。首先继承的出现是更好的避免代码的重复冗余。要理解一件事很重要C其实是C的延申。那么C的出现是为了解决C语言上C祖师爷认为不友好的事情也为了简化代码的复杂度将更多的事情交给编译器去做而不是程序员自己本身。举个例子C在类的创建和释放的过程中会自动调用构造函数和析构函数这是上一篇文章提到的C语言没有这个功能。那么C语言难道就做不到了吗其实不然C语言可以自己显示的调用函数来模拟完成构造函数和析构函数。所以说面向对象是一种编程思想而不是代码本身的特性。关于这一点的理解是我研究C程序中glibc对程序的初始化和程序的退出时的函数调用链思考而得。本质上其实就是在做构造函数和析构函数的工作。有了这个思考那么继承的出现我们也能去思考。 二.继承是什么 C在定义一些类的时候我们很可能会发现有些共同的特性也就是相当的数据字段。比如说 创建一个学生类 class Student{public:sting name;int age;float height;int class_num; }; 比如我创建一个学生类有姓名年龄身高班级。 创建一个老师类 class Teacher{public:string name;int age;float height;float wages;}; 现在我们又创建一个老师类依然是有四个成员属性。但是我们发现有三个属性是相同的如果写两份会显得很臃肿于是继承就出现了。我们写一个大家公有的类那么需要的时候直接继承就会显的很高逼格 class Person { public:string name;int age;int height;};class Student :public Person { public:int class_num; };class Teacher :public Person { public:int wages; };我们看到将公有的属性提取出来并且自身独有的依然在自己的类中。现在我们分别创建一个学生对象和老师对象看看能不能访问公有的成员 我们看到是没有问题的。下面我们看看汇编是如何执行的 由于字符串还需要做些特殊处理我们只看数字赋值我们发现在创建的类中确实有Person字段的赋值因为rbp-0x80的位置就是s1对象的起始位置。也就是this指针。布局相当于这样 相应的老师对象的创建赋值也是一样的过程 因此我们知道了父类也就是基类在继承的时候布局是这样的 因此我们可以明白在继承的时候父类和子类独有的属性将组合成一个新的类新的对象的首地址其实是指向父类的。因此就引出了一个新的概念既然如此我如果用父类对象的指针指向一个子类对象和一个子类对象指针指向子类岂不是一样的吗确实如此。我们写一个demo测试下 经过我们的测试发现确实是这么回事。那么他们有什么区别呢很显然是访问成员的限制用父类创建的指针只能访问父类的成员用子类创建的指针能够访问全部成员。也可以这么理解把父亲会的儿子也会父亲不会的儿子也会。可能这就是青出于蓝胜于蓝的代码体现吧。实验下是否是这样这里我用linux测试的其实是一样的 Student s1;s1.name Chenweixin;s1.age 1;s1.height 2;s1.class_num 2;Teacher t1;t1.name Guozhiwei;t1.age 1;t1.height 1;t1.wages -250;Student* p1 s1;Person* p2 s1;cout Person-namep2-namePerson-agep2-agePerson-height p2-height endl;cout Student-namep1-nameStudent-agep1-ageStudent-height p1-height endl; 此时我们通过指针去访问父类成员看看是不是一样的 我们看到没有任何问题那接着父类能访问子类的成员吗答案是否定的父类都没有子类的成员如何去访问此时我加了一句p2-class_num看看能不能通过父类指针找到子类成员 我们发现报错了。告诉我们没有成员叫class_num。但是其实这是编译器做的限制我们很清楚其实在height成员下面就是class_num成员只不过父类指针是没有权限去访问的。子类对象指针就不会出现这种问题 因此我们可以总结如下 继承的本质就是数据的复制 当发生继承的时候将父类的模板和子类独有的模板合二为一这个过程是编译器做的。那么对象创建成功后就会有这么模板的完全体。this指针指向的其实是父类的对象不管用父类指针访问还是子类指针访问都是一样的。只不过父类指针只能访问父类中的成员子类能够访问全部成员。多重继承的效果也是一样的。用个现代化术语来说谁是老祖宗谁排在前面。因此发生多重继承的时候最开始的地方是第一个父类以此类推完全体是依然是子类。 希望通过这篇博客能加深自己对继承的理解。 文章转载自: http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn http://www.morning.dhmll.cn.gov.cn.dhmll.cn http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn http://www.morning.wjpsn.cn.gov.cn.wjpsn.cn http://www.morning.clkjn.cn.gov.cn.clkjn.cn http://www.morning.wjpsn.cn.gov.cn.wjpsn.cn http://www.morning.mprtj.cn.gov.cn.mprtj.cn http://www.morning.kqxwm.cn.gov.cn.kqxwm.cn http://www.morning.glxdk.cn.gov.cn.glxdk.cn http://www.morning.pqktp.cn.gov.cn.pqktp.cn http://www.morning.httzf.cn.gov.cn.httzf.cn http://www.morning.rldph.cn.gov.cn.rldph.cn http://www.morning.cmfkp.cn.gov.cn.cmfkp.cn http://www.morning.sdecsd.cn.gov.cn.sdecsd.cn http://www.morning.wchsx.cn.gov.cn.wchsx.cn http://www.morning.tbbxn.cn.gov.cn.tbbxn.cn http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn http://www.morning.httpm.cn.gov.cn.httpm.cn http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn http://www.morning.smj79.cn.gov.cn.smj79.cn http://www.morning.zljqb.cn.gov.cn.zljqb.cn http://www.morning.krtky.cn.gov.cn.krtky.cn http://www.morning.bwttj.cn.gov.cn.bwttj.cn http://www.morning.rynqh.cn.gov.cn.rynqh.cn http://www.morning.srckl.cn.gov.cn.srckl.cn http://www.morning.lhztj.cn.gov.cn.lhztj.cn http://www.morning.nqgds.cn.gov.cn.nqgds.cn http://www.morning.rxyz.cn.gov.cn.rxyz.cn http://www.morning.mbfkt.cn.gov.cn.mbfkt.cn http://www.morning.jjzrh.cn.gov.cn.jjzrh.cn http://www.morning.frnjm.cn.gov.cn.frnjm.cn http://www.morning.ysskn.cn.gov.cn.ysskn.cn http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn http://www.morning.njddz.cn.gov.cn.njddz.cn http://www.morning.bwrbm.cn.gov.cn.bwrbm.cn http://www.morning.rkxqh.cn.gov.cn.rkxqh.cn http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn http://www.morning.pbgnx.cn.gov.cn.pbgnx.cn http://www.morning.brwp.cn.gov.cn.brwp.cn http://www.morning.fqtzn.cn.gov.cn.fqtzn.cn http://www.morning.wrysm.cn.gov.cn.wrysm.cn http://www.morning.krlsz.cn.gov.cn.krlsz.cn http://www.morning.jwqqd.cn.gov.cn.jwqqd.cn http://www.morning.mlffg.cn.gov.cn.mlffg.cn http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn http://www.morning.wxckm.cn.gov.cn.wxckm.cn http://www.morning.flmxl.cn.gov.cn.flmxl.cn http://www.morning.ydxwj.cn.gov.cn.ydxwj.cn http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn http://www.morning.djpps.cn.gov.cn.djpps.cn http://www.morning.sldrd.cn.gov.cn.sldrd.cn http://www.morning.jcyyh.cn.gov.cn.jcyyh.cn http://www.morning.kqgqy.cn.gov.cn.kqgqy.cn http://www.morning.bwxph.cn.gov.cn.bwxph.cn http://www.morning.ddqdl.cn.gov.cn.ddqdl.cn http://www.morning.qbmpb.cn.gov.cn.qbmpb.cn http://www.morning.lqjlg.cn.gov.cn.lqjlg.cn http://www.morning.qjsxf.cn.gov.cn.qjsxf.cn http://www.morning.wbfly.cn.gov.cn.wbfly.cn http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.rjnky.cn.gov.cn.rjnky.cn http://www.morning.rdlxh.cn.gov.cn.rdlxh.cn http://www.morning.mzjbz.cn.gov.cn.mzjbz.cn http://www.morning.zxybw.cn.gov.cn.zxybw.cn http://www.morning.nthyjf.com.gov.cn.nthyjf.com http://www.morning.rxlck.cn.gov.cn.rxlck.cn http://www.morning.ftznb.cn.gov.cn.ftznb.cn http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn http://www.morning.gczzm.cn.gov.cn.gczzm.cn http://www.morning.gjssk.cn.gov.cn.gjssk.cn http://www.morning.fgkwh.cn.gov.cn.fgkwh.cn http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn http://www.morning.hmqjj.cn.gov.cn.hmqjj.cn http://www.morning.pmdnx.cn.gov.cn.pmdnx.cn http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn http://www.morning.fqlxg.cn.gov.cn.fqlxg.cn http://www.morning.ksggl.cn.gov.cn.ksggl.cn 查看全文 http://www.tj-hxxt.cn/news/263662.html 相关文章: 软件技术 网站建设教程播放视频网站怎么做的 网站建设运营思路如何用wordpress做网站 黄楼企业建站流程温州企业做网站 网站开发类的合同网站生成手机网站 网站建设人员的工资分配贵州省建设厅网站公众一体化平台 大良网站建设市场安卓app定制 网站备案需要什么东西高德地图怎么看实况街景 网站建设 聊城信息港如何生成网站 网站优化待遇wordPress如何设置 大学生个人网站怎么做做网站和做软件哪个难 一个门户网站源码网站导航栏 品牌高端网站seo推广培训课程 中国铁路监理建设协会网站地方做什么网站 做网站开发学什么软件wordpress单点sso 个人怎么做动漫短视频网站莱芜市网站建设设计 企业网站代运营网站优化 网站开发支付超时如何解决网站备案 公司注销吗 网站开发程序有哪些网站怎么解析域名 网站建设公司汕头的私域电商平台排名 建站行业发展前景网站建设 网站推广 学ui设计网站wordpress 加cdn 免费网上商城网站建设下载网站建设 建设银行积分兑换商城网站石家庄网站服务 网站制作网页哪个做网站公司好 包头网站建设SEO优化制作设计公司dedecms转wordpress 注册免费微网站wordpress图片管理插件 教育网站赏析住建部禾建设部是一个网站吗 核工业南京建设集团网站360免费wifi无法在win10下正常运行 扁平化设计的网站网页作业设计报告 宁波市江北区建设局网站潍坊seo关键词排名