面向过程:C语言
程序是顺序执行的,我们就需要按照程序的执行过程来设计软件
面向过程的缺陷:
- 当开发大型的项目时,可能牵一发而动全身,导致程序崩溃,这样是难以控制的,且是灾难性的
- 软件后期维护的成本巨大--》无法便捷的新增或者删除功能
面向对象:C++
面向对象是一种开发思想,常常用于开发大型项目
类:
是一种抽象的概念,我们可以将其看作是某一种数据类型
组成:
- 属性 --》通常为了数据的安全性,将其封装在类的内部
- 方法--》提供对内对外的放法,用于操作数据或执行某种操作
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();
//因为对其没有初始化,无法访问属性值