博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++多态,数据抽象,数据封装,接口(抽象类)总结(简略)
阅读量:3960 次
发布时间:2019-05-24

本文共 812 字,大约阅读时间需要 2 分钟。

C++多态:

多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。每个子类都有一个函数的独立实现。这就是多态的一般使用方式。有了多态,您可以有多个不同的类,都带有同一个名称但具有不同实现的函数,函数的参数甚至可以是相同的。
虚函数 是在基类中使用关键字 virtual 声明的函数。在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数。我们想要的是在程序中任意点可以根据所调用的对象类型来选择调用的函数,这种操作被称为动态链接,或后期绑定。
数据抽象:
数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,它们向外界提供了大量用于操作对象数据的公共方法,即只表现必要的信息而不呈现细节。
具体实现:任何带有公有和私有成员的类都可以作为数据抽象的实例,用户只需要知道对外的接口的用法,不需要了解对象的数据,和具体实现的方法。
数据封装
数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。
C++ 通过创建类来支持封装和数据隐藏(public、protected、private)。
通常情况下,我们都会设置类成员状态为私有(private),除非我们真的需要将其暴露,这样才能保证良好的封装性。
c++接口(抽象类)
C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。
实现方法:
基类中纯虚函数声明 virtual double getVolume() = 0;
派生类中对double getVolume()进行实现

c++函数重载

在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。

转载地址:http://rsmzi.baihongyu.com/

你可能感兴趣的文章
Mule ESB-Content-Based Routing Tutorial(1)
查看>>
Mule ESB-Content-Based Routing Tutorial(2)
查看>>
Mule ESB-Content-Based Routing Tutorial(3)
查看>>
年末项目经验总结
查看>>
做事情要放下面子,拿起责任
查看>>
敏捷开发实践(1)-故事工作量估算导致的问题
查看>>
记一次解决jenkins持续构建,自动部署的问题
查看>>
敏捷开发实践(2)-要不要文档?
查看>>
敏捷开发实践(3)-我们为什么需要持续集成?
查看>>
《java系统性能调优》--2.缓存
查看>>
JAVA注解引发的思考
查看>>
//基于redisTemplate工具类RedisHelper
查看>>
SpringBoot+RabbitMQ
查看>>
写博意味着什么
查看>>
一些时间管理法则和我自己的时间管理法则
查看>>
变量的声明和作用域——VB
查看>>
VB总结
查看>>
静态数组的声明与例子练习
查看>>
动态数组的声明与例子练习
查看>>
The Road Not Taken
查看>>