当前位置: 首页 > news >正文

海拉尔做网站可以直接进入网址的正能量大豆网

海拉尔做网站,可以直接进入网址的正能量大豆网,后台网站模板html,网站建站前期准备工作目录 前言 01 不使用继承会让你多打很多无用的代码 02 继承 最后的话 前言 本期我们学习 C 面向对象编程中的继承。 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类#xff0c;这使得创建和维护一个应用程序变得更容易。这样做#…  目录 前言 01 不使用继承会让你多打很多无用的代码 02 继承 最后的话 前言 本期我们学习 C 面向对象编程中的继承。 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类这使得创建和维护一个应用程序变得更容易。这样做也达到了重用代码功能和提高执行效率的效果。 当创建一个类时您不需要重新编写新的数据成员和成员函数只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类新建的类称为派生类。 继承代表了 is a 关系。例如哺乳动物是动物狗是哺乳动物因此狗是动物等等。 01 不使用继承会让你多打很多无用的代码 继承允许我们有一个相互关联的类的层次结构。展开来说它允许我们有一个包含公共功能的基类我们可以从基类中分离出来基于父类基类中创建子类。 类继承的主要作用是它可以帮助我们避免代码重复。 使用类继承后我们就不需要一遍又一遍的重复一些代码了我们可以把类之间的所有公共功能放在一个父类中。然后从基类父类创建派生一些类稍微改变下功能或者引入全新的功能。这样我们就不用像写模板那样不断重复了。 我们来看看如何在源代码中定义它。 上面的代码中我们创建了一个 动物类它用来描述动物特征的对象。 在我们现实中我们可能有很多非常不同的动物然而在某些方面它们的功能是一样的。 例如也许每个动物都有自己的体重所以我们double weight创建一个体重的变量也有自己的年龄甚至年龄 好了现在我们有了一个基类animal 类。 在现实中每一个动物都将是具有这些特征的。 我们继续创建一个新类型的实体比如创建一条狗 在上面的代码中我们创建了一个 Dog 类目前还没有用到所谓的继承概念。我们是从零开始的这个 Dog类也有体重年龄名字因为它是Dog类我们还想让它打印自己的身份信息所以我们定义print_animal_messge 方法你可以看到当前我们完成的东西和上面的 animal类很像。 到这里你可以看到它们实际上已经是不同的类了。 class animal { private: protected:double weight; //体重int age; //年龄string name; //名字public:};class dog { private: public:double weight; //体重int age; //年龄string name; //名字void print_animal_messge(){coutname:name\t: weight:weight \tage:ageendl;} };然而能看到有相当多的代码只是被复制粘贴。为了改变这种状况我们能做的就是利用继承。 02 继承 我们可以扩展animal类来创建 dog类然后让它存储新数据比如打印自己的身份信息 现在让我们把 Player 变成 Entity 的子类。 这需要我们在类声明后写一个冒号然后写上 public animal。 现在在我们写的代码中发生了一些事情Dog类现在不仅拥有 Dog类型它也有 animal类型它现在是两种类型了。 类型在 C 中是相当复杂的主题。一方面它们实际上并不存在然而另一方面它们又会在很多地方制造麻烦后面的系列中我们再去深入了解它是如何工作的。 Dog 现在拥有 animal拥有的所有东西比如拥有类成员 age 和 weight等等。因为它们本身也在 animal中所以现在我们把 Dog类中和 animal所有重复的代码都删掉留下一些不一样的东西就可以了这些是我们的附加功能 现在这个 Dog类看起来很干净。 class dog:public animal { private: public:void print_animal_messge(){coutname:name\t: weight:weight \tage:ageendl;} };我要提醒你们它实际上也是一个 animal这意味着仅仅看这个类的内容并不能告诉我们关于它的所有信息如果想全面了解的话我们必须去找 animal看看它有什么。因为就 dog而言任何在 animal类中不是私有的东西实际上都可以被 dog 访问。 让我们来测试一下。 在上面的代码中我们创建一个 Dog类的实例 xiaoHuan。它不仅可以调用 print函数——这个函数本身就是在 Dog类里面的。然后也可以使用构造函数进行初始化变量最后将实例化xiaoHuan的信息打印出来 #include iostream using namespace std;class animal { private: public:int age; //年龄string name; //名字double weight; //体重};class Dog:public animal { private: public:void print_animal_messge(){coutname:name\t: weight:weight \tage:ageendl;}Dog(int p_age,string p_name,double p_weight){age p_age;name p_name;weight p_weight;}};int main() {Dog xiaoHuan(15,xiaoHuan,10.1);xiaoHuan.print_animal_messge();return 2; } 最后的话 在本系列课程中我们将分解所有与面向对象编程相关的独立概念多态、继承等等。所有这些概念都值得好好研究。如果将整个体系如果比喻成一个物件我还只是接触到了它的表面而已。
http://www.yutouwan.com/news/352139/

相关文章:

  • 东莞饰品网站建设洛阳兼职网站
  • 郑州网站开发公司电话广州商城网站建设公司
  • 未备案网站处理系统阿里巴巴有没有帮做网站的公司
  • 深圳市住房建设局官方网站苏州谷歌seo
  • c 做网站需要什么知识长垣网站建设
  • 泰州网站制作建设专门做图片是网站
  • 网站建设类论文选题网站建设图片代码
  • 海尔公司网站建设现状拼多多网上怎么开店
  • 建筑资料网站有哪些优化网络推广外包
  • 做动态在网站需要学什么商城网站设计策划
  • 商标查询网站建设wordpress添加工具栏
  • 网站开发合同付款比例外国人在中国做视频网站
  • 建设网络文化网站的请示安徽网站建设怎么样
  • 廊坊网站排名优化报价教学网站系统流程图
  • 做地图的网站重庆大型的网站建设
  • 做网站的法律软件开发公司深圳
  • 网站建设软件如何建设交流网站的论文
  • 编程 毕业设计代做网站喂来苏州网络科技有限公司
  • 做一个商务平台网站的费用上海闵行区 网站建设
  • 大型o2o网站开发时间wordpress jquery cdn
  • 张家界做网站零基础月做网站多久
  • 备案域名出售平台张北网站seo
  • WordPress网站积分系统自由人网站开发
  • 安徽网站建站系统哪家好帝国网站如何做中英文切换
  • wordpress 公众账号seo自学教程推荐
  • 南通哪里学网站建设河北邯郸seo网站建设网站优化
  • 网站开发 asp.net php网站空间免费
  • 雨岑信息科技有限公司做企业型网站做的怎么样_公司规模如何提升seo搜索排名
  • 首页设计网站 专注山东建设厅网站
  • 怎么写一个网站程序简洁的网页