面向对象编程中继承的概念,继承是c++面向对象程序设计的重要特性之一

  面向对象编程中继承的概念,继承是c++面向对象程序设计的重要特性之一

  Yyds干货库存

  C的朋友都知道,C主要从三个方面解释,一是封装,二是继承,三是多态;一开始,我们是通过封装来启动C的。我们知道有三种类型的封装:受保护的属性、私有属性和公共属性。这里不做过多解释。接下来我们来看c中的第二个3354继承。

  很多朋友会问,什么是传承?其实这里的理解很简单。“子承父业”,我们这里对“子与父”有一个约定俗成的称呼,“子”,派生类或子类;“父类”,基类或父类。c指定了三种继承方式。参见下表;

  上表是C中的重要知识点,其实不用背,理解了自然就跟着来了。看一下下面的代码:

  #包括iostream

  使用命名空间std

  类别基础

  {

  私人:

  int b1

  受保护:

  int b2

  公共:

  空集合(int m,int n)

  {

  B1=m;

  B2=n;

  }

  无效显示()

  {

  cout b1= b1 endl

  cout b2= b2 endl

  }

  };

  基本类别1

  {

  私人:

  int b1

  受保护:

  int c2

  公共:

  void sz(int a,int b);

  void显示();

  };

  void Base1:sz(int a,int b)

  {

  B1=a;

  C2=b;

  }

  void Base1:display()

  {

  cout c1= b1 endl

  cout c2= c2 endl

  }

  类别衍生:public Base,public Base1

  {

  私人:

  int d;

  公共:

  void setall( int a,int b,int m,int n,int l)

  {

  set(m,n);

  sz(a,b);

  d=l;

  }

  void showall()

  {

  cout d= d endl

  }

  ~派生()

  {

  “cout”析构:“b2 endl

  “cout”析构:“c2 endl

  }

  };

  int main()

  {

  派生的obj

  obj.setall(30,40,50,60,70);

  obj . show();

  obj . display();

  obj . showall();

  返回0;

  }

  有些朋友可能和我一样。刚开始学的时候,看到这么长的代码,“我头疼!”其实我是来告诉你,代码越长越好理解;相反,代码越短,我们越难理解。因为代码越长,他能提供给我们的信息就越多。

  请看上面的代码。我定义了两个类,一个是“Base”,一个是“Base 1”;下面的Derived就是我们开头解释的派生类,也就是子类;他是以公有继承的方式继承的。这里告诉你一个公式。

  (1)“传承方式决定上限”,这是一种理解方式;

  (2)父类中的继承方法和属性应该最小。

  示例:classderived: publicbase,publicbase1

  在这行代码中,派生类是派生的,它以保护继承的方式继承了两个父类Base和Base1。然后,Base中的公共类型和公共继承的组合,表示派生类可以访问父类的公共属性的函数;如果public继承了受保护的属性,它仍然是派生类中的受保护属性,也是可访问的;当然,公众继承的私有财产是不能继承的,私有财产在三种继承方式中是隐形的。

  示例:类派生:受保护的基,受保护的基1

  这里用受保护的继承来继承父类,所以当受保护的继承父类中的公共属性时,虽然此时可以访问,但父类中的公共属性已经变成了受保护的属性。

  示例:classderived: private base,private base 1

  所以,你看,这里是私有继承的方式,所以这个时候,父类下的所有属性,在下面的调用函数里,都是不能访问的,也就是看不见的。

  这里要给大家普及一个点。派生和继承是相对而言的。派生是相对于父类的。然而,继承是相对于子类而言的;

  本章到此为止。如有错误,请指正!

  在此,也祝所有上岸考研的同学,以及没有考研的同学,都能变得更好!

  ,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: