面向对象和面向过程
面向过程:
关注如何解决问题,以及解决问题的步骤
面向对象:
关注的解决问题的"人"即"对象",以及实现能解决问题的"对象"
注意:面向对象的细节的本质上还是面向过程,因此面向对象不是解决问题的捷径,而是以更高的维度去思考问题
面向对象的四个特性:
抽象:
先找出(想象)能解决问题的"对象",分析该对象解决问题所需要的属性(成员变量)和行为(成员函数)
封装:
把抽象的结构封装成一个类类型(结构),并给类的成员变量、成员函数设置相对应的访问控制权限(public\private\protected)
将属性和行为作为一个整体,并加以权限控制。
继承:
1、在封装类前先考虑现有的类是否能解决部分问题,如果有则可以通过继承,只需要在此基础上扩展即可,从而缩短解决问题的时间
2、把一个复杂的大问题拆分成若干个不同的小问题,给每个小问题设计一个类去解决,最后把这些类通过继承合并成一个能解决大问题的类,从而降低问题的难度
多态:
发出一个指令,系统会根据实际情况执行不同的操作,这种特征称为多态(一个指令多种形态)
比如重载过的函数、当调用函数时会根据参数的不同调用不同的版本,具体调用哪个版本在编译期间可以确定,称为编译时多态
类和对象
什么是类和对象
类是由程序员设计一种数据类型,里面包含有成员变量、成员函数
而对象就是类的实例化,可以理解为使用类类型创建的变量,创建的过程叫做实例化
即对象的抽象是类,类的具体化就是对象
类的设计和对象的实例化:
class 类名
{
成员变量; // 类中默认属性是private私有
public:
成员函数;
};
对象的实例化:
类名 类对象名;
类名* 类对象名_p = new 类名;
实例:
类的声明、实现、使用:
1、在头文件中声明:
class 类名
{
成员变量;
public:
返回值 成员函数名(参数列表);
};
2、在源文件中实现成员函数
返回值 类名::成员函数名(参数列表)
{
// 在成员函数中可以直接使用成员变量、成员函数
// 不需要使用 . -> 来表示访问
}
注意:如果类的内容不多,也可以直接在头文件中把成员函数实现
访问控制限定符
- private
私有的,被它修饰的成员只能在类内访问,这是类的默认访问属性
设置为私有的是为了对类进行保护,一般会把成员变量设置私有
- public
公开的,被它修饰的成员可以在任意位置访问
一般会把成员函数设置公开
- protected
保护的,被修饰的成员只能在本类内和它的子类中访问,但不能在类外访问
标签:函数,面向对象,访问控制,成员,C++,对象,限定符,解决问题,类名 From: https://www.cnblogs.com/ljf-0804/p/17654957.html