这里写目录标题
面向过程
什么是面向过程?
根据程序的执行过程,来设计软件的所有细节。
面向过程的缺点:
开发大型项目时,越来越难以把控,甚至失去控制。
后期维护、更新成本很大。
解决方案:
使用面向对象。
什么是面向对象?
不是面向对象,写代码:
面向对象是一种开发思想,一种全新的开发方式。
面向对象思想的重要性:
开发大型项目必备,是高级程序员的必备技能!
女娲定义“人类”:类的使用
面向对象编程,最重要的第一个概念:类
“人类”是一个抽象的概念,不是具体的某个人。
“类”,是看不见,摸不着的,是一个纯粹的概念.
“类”,是一种特殊的“数据类型”,不是一个具体的数据。
注意:类, 和基本数据类型(char/int/short/long/long long/float/double)不同
类的构成:方法和数据
类的设计
定义一个“人类”:
Demo
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
// 定义一个“人类”
class Human {
public: //公有的,对外的
void eat(); //方法, “成员函数”
void sleep();
void play();
void work();
string getName();
int getAge();
int getSalary();
private:
string name;
int age;
int salary;
};
void Human::eat() {
cout << "吃炸鸡,喝啤酒!" << endl;
}
void Human::sleep() {
cout << "我正在睡觉!" << endl;
}
void Human::play() {
cout << "我在唱歌! " << endl;
}
void Human::work() {
cout << "我在工作..." << endl;
}
string Human::getName() {
return name;
}
int Human::getAge() {
return age;
}
int Human::getSalary() {
return salary;
}
int main(void) {
Human zhangshan;
system("pause");
}
女娲造“人”:对象的基本使用
什么是对象?
对象,是一个特定“类”的具体实例。
对象和普通变量有什么区别?
一般地,一个对象,就是一个特殊的变量,但是有跟丰富的功能和用法。
什么时候使用对象?
对象的具体使用方法
demo1:
int main(void) {
Human h1; // 通过自定义的特殊数据类型“Human”类, 来创建一个“对象”
// 合法使用
h1.eat();
h1.play();
h1.sleep();
// 非法使用
//cout << "年龄" << h1.age << endl; //直接访问私有成员,将无法通过编译
//正确使用
cout << "年龄" << h1.getAge() << endl; //暴露问题,年龄值是一个很大的负数
system("pause");
}
总结:
1.“.”的使用
2.调用方法时,方法名后需要带一对圆括号()
3.通过对象,只能调用这个对象的public方法
分析:
多个不同的对象都有自己的数据,彼此无关。
demo2:
int main(void) {
Human h1; // 通过自定义的特殊数据类型“Human”类, 来创建一个“对象”
Human *p;
p = &h1;
// 合法使用
p->eat();
p->play();
p->sleep();
// 非法使用
//cout << "年龄" << p->age << endl; //直接访问私有成员,将无法通过编译
//正确使用
cout << "年龄" << p->getAge() << endl; //暴露问题,年龄值是一个很大的负数
system("pause");
}
小结:
1.-> 的使用(类似C语言的结构体用法)