数据结构之类的详解

一. 什么是面向对象?

  1. 面向对象的定义

     面向对象是软件开发的一种方法,它的主要思想就是:把整个世界看做是具有行为活动各种对象组成的。把数据以及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象其共性形成类。所以,对象也就可以看做是类的具体实例,我们就可以把类看做建房子的图纸,对象就可以看做建出来的房子。将对象作为程序的基本单元,将程序和数据封装在其中,以提高软件的重用性、灵活性、扩展性。
    
  2. 面向对象的三大特性
    封装、继承、多态
    (1)封装性
    把数据和方法封装到一起,其中方法一般用函数实现。数据表示类的属性,函数则表示类的行为。而类的访问限定符public、private、protected等限定了访问的权限,达到封装的目的。
    (2)继承性
    通过继承,一个对象可以获得另一个对象的属性(包括函数),并且可以向其中加入一些自己的特征。通过继承得到的新类我们叫做“子类”或者“派生类”,被继承的类叫做“父类”或“基类”。
    (3)多态性
    多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
    类可以通过class/struct去声明。但是对于class声明的类,它的默认属性为私有的(private);但对于struct声明的类,它的默认属性是公有的(public)。
    编写struct测试代码如下:
    #include
    using namespace std;

struct Person1
{
int b;
void Display()
{
cout<<b<<endl;
}
};

int main()
{
Person1 p1;
p1.b = 6;
p1.Display();
return 0;
}
在这里插入图片描述
#include
using namespace std;

class Person
{
int a;
void Display()
{
cout<<a<<endl;
}
};

int main()
{
Person p;
p.a = 5;
p.Display();
return 0;
}
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Azuresmh/article/details/82750563