所谓面向对象的程序设计,就是把面向对象的思想应用到软件工程中,并指导开发维护软件。 对象是由数据和容许的 *** 作组成的封装体,所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识了解刻画客观世界以及开发出相应的软件系统。
你学习过C语言没有,C语言就是面向过程的。
JAVA就是面向对象的。
C++兼容了C,但是基本上编程思想是面向对象的。
对象,例:一辆车就是一个对象。车中的那些组成零件也是对象。
C++中定义一个对象来表示车就很容易。
class car
{
private:
//定义一些车的属性
//价格。车名。型号。重量。
};
你学下C++或JAVA就很容易明白了。
面向对象,说白了就是把现实中的事务看成一个对象,在写程序时,把你要写的事务与现实中的事务联系起来。
如:写一个学生管理系统的项目。
你会有很多对象。学生。老师。学课。教学楼。宿舍。
如果你学C++,当你多用几次class之后,你就明白了。
面向对象程序设计有4个主要特点,分别是:抽象、封装、继承、多态。以下是具体解释;
一、抽象和封装
类和对象体现了抽象和封装
抽象就是解释类与对象之间关系的词。类与对象之间的关系就是抽象的关系。一句话来说明:类是对象的抽象,而对象则是类得特例,即类的具体表现形式。
封装两个方面的含义:一是将有关数据和 *** 作代码封装在对象当中,形成一个基本单位,各个对象之间相对独立互不干扰。二是将对象中某些属性和 *** 作私有化,已达到数据和 *** 作信息隐蔽,有利于数据安全,防止无关人员修改。把一部分或全部属性和部分功能(函数)对外界屏蔽,就是从外界(类的大括号之外)看不到,不可知,这就是封装的意义。
二、继承
面向对象的继承是为了软件重用,简单理解就是代码复用,把重复使用的代码精简掉的一种手段。如何精简,当一个类中已经有了相应的属性和 *** 作的代码,而另一个类当中也需要写重复的代码,那么就用继承方法,把前面的类当成父类,后面的类当成子类,子类继承父类,理所当然。就用一个关键字extends就完成了代码的复用。
三、多态
没有继承就没有多态,继承是多态的前提。虽然继承自同一父类,但是相应的 *** 作却各不相同,这叫多态。由继承而产生的不同的派生类,其对象对同一消息会做出不同的响应。
会清除,确切地讲是会执行析构函数,但是InitInstance有点细微的区别,我们做个试验
新建一个工程1,默认,在默认生成的dlg类中头文件加~CMy1Dlg(); cpp文件中加
CMy1Dlg::~CMy1Dlg()
{
AfxMessageBox(_T("1"));
}
AfxMessageBox这个函数是d出一个窗口,等待用户按回车,理论上这个程序运行后关掉时会d出一个有文字“1”的窗口,但事实是没有d出,但是没有d出不代表没有运行析构函数,因为 AfxMessageBox这个函数不同于MessageBox,他在d窗口的同时会发出“叮”的一声,再试一下,关闭的时候虽然没有d窗口,但是有“叮”,这就可以理解为运行了析构函数,但是不完全,因为这时跟整个程序的资源已经销毁了,所以不会再d窗了,但是至于为什么还有声音我就不是很了解了。windows程序都是一次性的,因为是遵循析构函数的法则,语句结束就销毁
会,这个就不会有问题了,在刚才工程中加一个按钮,然后再1dlg头文件中建一个类
class a
{
public:
int b;
a()
{
b=1;
}
~a()
{
b=0;
AfxMessageBox(_T("da"));
}
};
双击按钮,在单击消息中加入代码 a aa;
运行程序,单击一下按钮,会正常d出da的消息窗口和“叮”
析构函数最常见的是在调用他的语句块结束时调用
以上就是关于什么是面向对象的程序设计 能通俗得说明吗全部的内容,包括:什么是面向对象的程序设计 能通俗得说明吗、面向对象程序设计具有哪些特性呢、MFC应用程序,在处理函数中创建的对象,在处理函数结束后该对象会被清除吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)