C++类和对象

来源:互联网 发布:卷积运算公式矩阵 编辑:程序博客网 时间:2024/06/07 05:44

一、类和对象
1.面向对象程序设计:
概念:(ObjectOrientedProgramming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。
对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
这里写图片描述

2.类的作用域
(1)每个类都定义了自己的作用域,类的成员(成员函数/成员变量)都在类的这个作用域内,成员函数内可任意访问成员变量和其它成员
函数。
(2)对象可以通过.直接访问公有成员,指向对象的指针通过->也可以直接访问对象的公有成员。
(3)在类体外定义成员,需要使用::作用域解析符指明成员属于哪个类域。
这里写图片描述

class Person{public:    void Display()    {        cout<<_name<<"-"_sex<<"-"<<_age<<endl;    }public    char* _name;    char* _sex;    int   _age;};void Test(){    Person p;    p._name = "Jack";    p._sex = "男";    p._age = "23";    p>Display();    Person *ptr = &p;    ptr->_name = "Rose";    ptr->_sex = "女";    ptr->_age = "18";}

3.类实例化对象:
(1)类知识一个模型一样的东西,限定了类有那些成员,定义出一个类,并没有分配实际的内存空间来存储它;
(2)一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间存储类成员变量。
这里写图片描述

4.访问限定符(public、private、protect):
(1)public成员可以从类外直接访问,private和protected成员不能从类外直接访问。
(2)每个限定符可以在类中多次使用,它的作用域是从该限定符出现到下一个限定符之前或类体结束之前。
(3)类的访问限定符体现了面向对象的封装性。
(4)类体中如果没有定义限定符,则默认时私有的。

5.面向对象的封装性:
面向对象有三大特性:封装、继承、多态
封装:将方法和数据封装在类里面,可以根据访问限定符的是用来保证数据的安全性,隐藏了方法的实现细节,也方便使用。
继承:将已有类增加属性和功能或进行部分修改来件李新的类,是实现代码复用的重压手段,继承是类型之间的关系建模。
多态:在面向对象的程序里面,同一个消息被不同的对象接受后可导致不同的行为,是接口的多种的实现方式。