初识面向对象

69 阅读1分钟

面向过程:C语言

程序是顺序执行的,我们就需要按照程序的执行过程来设计软件

面向过程的缺陷

  1. 当开发大型的项目时,可能牵一发而动全身,导致程序崩溃,这样是难以控制的,且是灾难性的
  2. 软件后期维护成本巨大--》无法便捷的新增或者删除功能

面向对象:C++

面向对象是一种开发思想,常常用于开发大型项目

类:

是一种抽象的概念,我们可以将其看作是某一种数据类型

组成:

  1. 属性 --》通常为了数据的安全性,将其封装在类的内部
  2. 方法--》提供对内对外的放法,用于操作数据或执行某种操作

eg:设计一个“人”的类

//设计一个人类
class Person
{
public:
    //对外的接口设计
    //成员函数
    void eat();
    void sleep();
    //get方法:对外接口使得获取数据
    //set方法:对外接口设置属性值
    string getName();
    int getAge();
    string setName(string name);
    int setAge(int age);
private:
    //一般数据都是私有的,不公开访问,可提供方法
    //提供方法访问内部属性—-》数据的封装-》保证安全性
    //防止属性值直接被修改
    string name;
    int age;
};


//类的定义和类的具体实现都是分开写的
//后期会分开头文件和源文件

//简单的方法
void Person::eat()
{
    cout << "eating!" << endl;
}
void Person::sleep()
{
    cout << "sleep!" << endl;
}

//对属性访问的方法
string Person::getName()
{
    return name;
}
int Person::getAge()
{
    return age;
}

对象:

某种特定类的具体实例

类: “人”这一类

对象:某个具体的人:小红,小明

对象和普通的变量一样,但是能进行的操作更加丰富

Person xiaohong;
xiaohong.eat();
xiaohong.getAge();
//cout << xiaohong.name; 私有,无法访问

//指针调用,使用箭头
Person* p;
p->eat();

//因为对其没有初始化,无法访问属性值