c++抽象 封装 继承 多态 模板 数据隐藏 类 详解

抽象:将一类对象的共同特征总结出来构造类的过程
抽象包括数据抽象和行为抽象
数据抽象关注对象的属性
行为抽象关注对象的行为
例如:学生的姓名 年龄 身份证号 为学生的属性
学生会吃饭,会睡觉 为学生的行为

类是将抽象转换为用户定义类型的工具,包含了数据表示和操纵数据的方法
类中的数据项通常放在私有部分,组成类接口的成员函数放在公有部分
接口
接口由编写类的人提供的方法组成,c++程序将接口(类定义)放在头文件中
数据隐藏:
将数据放在类的私有部分即数据隐藏,数据隐藏是一种封装,将实现的细节隐藏在私有部分中
数据隐藏可以防止直接访问数据,还可以让开发者无需了解数据是如何被表示的
封装:
客观事物封装成抽象类,类可以把自己的数据和方法只可让对象操作,对不可信的进行信息隐藏
继承:
可以使用现有类的所有功能,无需进行重新编写,在原来类的情况下对这些功能进行扩展
通过继承创建的类称为子类或者派生类
被继承的类称为基类或者父类
多态(重载 )
函数重载:用一个名字定义不同的函数,函数执行不同但有类似的操作。即可用同一个函数名调用不同的内容的函数
运算符重载:重载的运算符不必是成员函数,但必须至少有一个操作数是用户定义的类型
构成多态的条件:
调用函数的对象必须是指针或者引用
被调用函数必须是虚函数,且完成了虚函数的重写
重写指派生类中有一个跟基类完全相同(函数名、参数、返回值都相同)的虚函数
函数重载的关键是函数的参数列表,c++允许定义相同名称的函数但它们的参数列表不同,要根据上下文来确定要使用重载函数的版本

模板
模板是实现代码重用机制的一种工具,可以将类型定义为参数,分为函数模板和类模板
函数模板形式
template <class/typename T>
返回类型 函数名(形参表)
{
函数体
}

类模板
template <class/typename T>
class 类名
{
类定义
};

友元
分类:友元函数 友元类 友元成员函数
通过让函数成为类的友元,可以赋予该函数与类的成员函数相同的访问权限
友元函数是一种特殊的非成员函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值