c++基础(二)
来源:互联网 发布:公司网络优化方案 编辑:程序博客网 时间:2024/05/28 01:35
一、类
具有相同或相似性质的对象的抽象就是类
类是对象的抽象,对象则是类的特例(具体化)
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性
类具有行为,它是对象的行为的抽象,用操作名和实现该操作的方法来描述
二、封装(信息隐藏)
将抽象出的数据成员、成员函数相结合,将它们视为一个整体
封装有两层含义
将有关数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相互独立、互不干扰
将对象某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息
封装有利于数据安全,防止无关人员了解和修改数据
三、继承
继承是子类自动共享父类数据结构和方法的机制
在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承
通过类的继承关系,使公共的特性能够共享,提高了软件的重用性
四、多态性
多态性使指相同的操作或函数可作用于多种类型的对象上并获得不同的结果
不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性
多态性允许每个对象以适合自身的方式去响应共同的消息
多态性增强了软件的灵活性和重用性
实现:重载函数和虚函数
程序编译时实现的多态性属于静态的多态性。静态的多态性又叫重载
程序运行时实现的多态性称为动态的多态性
动态多态性使不同对象中的同名函数在程序运行中遇到调用请求时自动选择正确的执行代码
动态实现的多态性使程序具有识别外部事件的智能,使面向对象的程序能够很好地模拟客观世界中各种真实事件随机发生的事实
六、类和对象的关系
类是对象的抽象、对象是类的具体实例
类是抽象的,不占用内存;对象是具体的,占用存储空间
七、类的定义
公有类型成员
在关键字public后面声明,它们是类与外部的接口。
公有类型成员既可以被本类中的成员函数引用,也可以被类作用域内的其他函数引用
私有类型成员
在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问(友元类例外)
如果紧跟在类名称的后面声明私有成员,则关键字private可以省略
保护类型成员
在关键字protected后面声明,不能被类外函数访问,但可以被派生类的成员函数访问。
数据成员
与一般的变量声明相同,但需要将它放在类的声明体中
除了静态数据成员外,数据成员不能在类体中被显式地初始化
成员函数
用法和作用和一般函数基本上是一样的,也有返回值和函数类型
与一般函数的不同之处在于它是一个类的成员,出现在类体中
需要被外界调用的成员函数指定为public,不准备为外界调用,而为本类其他成员函数调用的函数指定为private
- C语言基础(二)
- C/ C++基础(二)
- C基础学习(二)
- C语言基础(二)
- Objective C基础(二)
- C语言基础(二)
- C语言基础(二)
- C 语言基础(二)
- C语言基础(二)
- C/C++基础(二)
- C指针基础(二)
- c语言基础(二)
- C语言基础(二)
- C语言基础(二)
- c语言基础(二)
- C语言基础(二)
- C#基础(二)(温故而知新)
- C语言基础函数(二)
- 网卡工作原理
- android滑动冲突解决方案
- 分治法学习记录
- 转载:python encode和decode函数说明
- 网络编程定时器三:使用最小堆
- c++基础(二)
- 20170206学习日记02:输入输出流,定义接口调用接口,各式类,实现接口各种方式
- maven--继承和聚合
- C++ Volatile
- 月亮与六便士 - 笔记
- struts2--初级
- Robotframework中自定义库的加载及注意事项
- fedora 24 忘记密码 图形化界面修改root密码的方法
- Chapter_3表、栈和队列:栈