栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

五,面向对象(特征)【C++】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

五,面向对象(特征)【C++】

序言

  在面向对象编程中,存在三大特征分别是:封装,继承,多态!

5.1-封装

  在面向对象中,所谓的封装其实就是将属性和行为以及具体的实现细节封装到内部聚合在一起形成一个类,对外通过具体的对象以及对外暴露的接口以及访问控制权限来使用内部的数据和方法!

5.2-继承

  当我们的多个类中包含共有部分的时候或者我们需要拥有一些类的东西的时候,我们不需要每个类中都去写一份我们想要拥有的东西,我们只需要按照一种语法规则就可以拥有这些东西,这就是继承,继承解决的问题就是代码冗余的问题!

继承语法
  • 单继承
    class Child1 : public Parent1
  • 多继承
    class Child1 : public Parent1,public Parent2
  • 虚继承
    class Parent1 : virtual public Parent
继承权限

继承时,不同的访问控制修饰符将决定父类的成员访问控制权限的变化!

继承:内存结构

技巧: 通过配置vs命令行,来输出类的继承关系以及内存结构!
工程右键–》属性–》C/++ --》命令行:/d1 reportAllClassLayout
编译/重新编译–》输出窗口把信息拷贝至文本工具里面进行分析!

  • 单继承
  • 多继承
  • 菱形继承
  • 菱形虚继承
5.3-多态

  如果说继承是抽取公共部分,解决代码冗余的问题,那么多态就是解决差异化的问题,具体的对象通过同一个接口就可以实现各自形态的体现,你是什么就是什么,本质是通过虚函数表来实现!

实现多态

● 父类声明虚函数
● 子类重写虚函数
● 父类指针指向子类对象
● 父类调用函数-》子类重写函数

多态机理
  • 静态多态【编译时期】
      函数重载,在编译时期就进行绑定确定!
  • 动态多态【运行时期】

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号