看完基础视频,对于面向对象编程的理解,应用与实际开发的时候,面相对象编程有极大的优势。
首先来看基本概念:
面向对象是软件开发方法,是一种对现实世界的理解和抽象的方法。
类:是有相似的内部状态和运动特征的实体的集合。(一类事物,鸟类、家具类、、、)
对象:指实体的抽象的事物,是类的一个或多个实例
消息:对象之间相互联系和相互作用的方式
多态:相同的声明多种不同的实现方法
对于面相对象化编程(oop)我自身来说最直接的理解就是模拟人生类 的游戏,在这种游戏中有很多类生物,比如说人,即可以定义一个human类,这个类的属性有身高、体重、姓名、性别、肤色、发型等。方法有吃饭、喝水、睡觉等。即每当实例化这个human类我就理解为生成一个新的人(实体),对于不同的国家或者是不同肤色的人都是这个human类的子类,继承父类human的属性,同时又有自己的特质。
用C++编码实现
class student{
public:
int id;//学号
int age;//年龄
int classNum;//班级编号
char *job;//职务
protected:
int hungerValue;//饥饿值
public void eat(int value)//吃饭的方法
{
this->hungerValue += value;
}
public void setClassNum(int num)
{
this->classNum = num;
}
}
以上都是我自己对面向对象化的理解,也许有偏差 |
|