C++面向对象-类
1.知识点介绍:
1.面向对象的特点
1.面向对象将数据和行为结合在一起,共同来表达一个数据.
2.在面向过程中,数据和行为是分开的,当问题比较复杂或者设计多开发,那么会导致拓展和维护很困难,而面向对象能解决这个问题,问题会被分解为一个个的对象,每一个对象有独立的数据和行为,修改或拓展某一个对象时并不会影响到其他对象.
3.面向对象的封装性、继承及多态.
①封装:封装就是将属性(数据)私有化,提供公有的访问(行为)访问私有属性.通过封装可以对对象属性进行存取限制,提高了程序的维护性
②继承可以在原来的对象基础上很快的产生新的对象,新的对象是一个全新的个体,但又有原来对象的特性,如同现实生活中的父子继承,儿子是一个新的个体,但又继承了父亲这个个体的特点,比如:外貌,性格.
③多态是面向对象思想的核心.做到同一个接口,使用不同的实例就能去执行不同的操作,方便了程序的设计
4.面向对象编程可以使代码维护方便、可扩展性好,支持代码重用技术.
2.高内聚低耦合
1.利用面向对象的思想封装、继承和多态,可以设计出"高内聚、低耦合"的程序结构,可以让程序更加灵活、更容易扩展,从而轻松应对软件的扩展需求,降低维护成本.
2.高内聚、低耦合这是软件工程中的一个概念,通常用来判断一个个软件设计的好坏.所谓的高内聚是指一个软件模块是由相关性很强的代码组成,只负责某单一的任务,也就是常说的"单一责任原则".而低耦合指的是在一个完整的程序中,模块与程序之间,尽可能保持相互独立,即每个模块尽可能独立完成特定的子功能.模块与模块之间的接口,尽可能的少而简单.
3.类是什么?
类是一种用户自定义数据类型,可以看作是C语言中结构体的升级版,类是有数据加功能构成的,也就是变量和函数,把变量和函数绑定在一起
4.对象是什么?
通过类这种类型定义出来的变量称之为对象
2.类的定义
类中定义的成员,不论先后,在类中的任意位置都可以访问
class 类名
{
访问属性:
成员1;
成员2;
函数1;
函数2;
}
如:
class CStudent
{
private:
int id;
char name[20];
public:
void fun()
{
cout<<"this is fun()"<<endl;
}
}
定义一个对象:
类名 对象名
如:
CStudent stu;
3.类成员的访问属性
1.访问属性修饰关键字
public 公有属性
protected 保护属性
private 私有属性
2.属性解释
公有属性:类中和尅外都可以被直接访问,类外通过对象访问
保护属性:类中及派生类中可以被直接访问,类外需要通过对象调用接口访问
私有属性:只有在类中才可以被访问,类外需要通过对象调用接口访问
3.类中如果有成员没有被访问属性修饰,默认是私有属性
4.访问属性的修饰范围:从当前访问属性关键字开始到下一个访问属性关键字或者类的结束这一个区间,都属于当前访问属性的修饰范围
5.类中访问属性关键字可以在类中的任意位置出现任意次数.
6.如果在类外想访问类中的私有或保护成员,需要在类中提供公有属性的接口,把私有或保护成员通过接口来进行操作.
4.结构体和类的区别
1.在C++中,结构体和类的区别在于,结构体是默认公有属性的类,类是默认私有属性的结构体.
2.在C中,结构体里面只能是定义变量,不能是函数,在C中是不能用类,但是在C++中可以用结构体和类的.
(整理自课堂笔记,如有雷同,那一定是同学)