C/C++培训
达内IT学院
400-996-5531
一、类和对象
在面向对象程序设计中,程序=对象+对象+。。。。。。一切皆对象,对象是由类得到的。那么什么是类?什么是对象呢?
就如K均值算法的思想一样:物以类聚,人以群分。
①类是一组类似对象的共同抽象定义;
②类是创建对象的模板和蓝图;
③对象是实实在在的存在,代表现实世界的某一事物;
④对象是类的实例化体现。
1.1 理解:
①类和对象的关系就如同模具和用这个模具制作出的物品之间的关系。一个类为它的全部对象给出了一个统一的定义,而他的每个对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系。
②类:动物,在你脑子里有个模型,一想到动物就会知道比如有毛啊,四条腿之类的。就是所有动物共有的特征。
对象:具体的一只猫。或具体的一只狗,这就是对象。 对象是建立字类的基础上的。有了一个类的模版,我们才能确定某一个具体的对象。
因此以动物建类如下:
Class 动物{
Public:
在跑();
没有动();
吃();
叫(什么);
Private:
动物名;
颜色;
腿数;
荤素;
.
.
.
};
当你需要描述对象狗时,根据类动物:
执行语句“动物 狗”,即使得狗有属性和方法(行为)。
1.2 根据类动物,我们可以得到定义一个类的步骤:
①定义类名;动物
②编写类的数据成员代表属性;名字、颜色、腿数......
③编写类的方法代表行为;跑、静、吃......
1.3 类是对对象的建模,这个过程是一个抽象和封装的过程。
1.3.1 抽象:
就像前文提及的类动物,完全描述一个动物可能需要很多信息,但我只想要知道它是什么动物?有几条腿?毛的颜色?荤素?他在跑吗?我要让它跑起来!它在吃吗?我要让他吃起来!
我在对很多动物进行建模,得到类动物。这中间吧我不关注的去掉了,次要的信息也去掉了,只保留我关注的地方,这就是抽象。
1.3.2 封装:
在class 动物中,可以看到Public和private两个关键词。Public中的跑()、没有动()、吃()对外公开,当我们从类动物得到对象猫(动物 猫)时,我们可以对Public中的跑()、没有动()、吃()进行访问、使用,但对于private中的属性不能直接访问,可以通过在public中公开相应的属性修改、查看等行为方法来间接访问。
①具体一点,封装是将数据和行为结合在一个包中,对对象的使用者隐藏数据的实现方式。
②实现封装的关键:不能让类中的方法直接访问其他类的内部数据,只能通过公开行为方法来间接访问。
假如我们通过类动物定义一个对象狗(动物 狗),如果我们想要给对象狗取名为“狗仔”,我们不能直接通过狗.动物名=“狗仔”,只能在动物类中公开一个设置动物名的方法,来间接的给定义的对象取名:
Class 动物{
Public:
在跑();
没有动();
吃();
叫(什么);
给它取名叫(名字)
{
动物名=名字;
}
它的名字叫()
{
输出“这个对象叫{动物名}”;
}
Private:
动物名;
颜色;
腿数;
荤素;
.
.
.
};
Int main()
{
动物 狗;
狗.给它取名叫(“狗仔”);
狗.它的名字叫();
Return 0;
}
程序运行后:
这个对象叫狗仔
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved