一、面向过程和面向对象的区别。
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为
二、面向过程和面向对象的特征。
面向过程是把过程作为编程的思路,如程序流程图,但是面向对象是把实体当作对象,如自行车是一个实体,就是一个对象,它有自己的属性,但是它可以派生除别的类,如变速自行车,除了有自行车的特点外,还有变速这个特点,其实面向对象就是把显示中的一个事务当作一类东西,这类东西具有某些特性,但是它可以派生,就形成具有某个特点的对象,就是派生类
三、面向对象的基本特征:封装性,继承性,多态性(抽象性)。
1)抽象
数据的抽象是对数据进行实例分析,抽取其共同性质的结果。如: “学生”对象,先对一些学生实例进行分析,确定他们的共同特性或主要特性(姓名、性别、年龄、专业等),忽略不同点或次要的 引不起兴趣的那些特性(长相差异、性格差异等)。
2 )封装
将数据结构以及作用于数据结构上的操作组成一个实体,把数据的 表示方式及操作细节隐藏起来,用户通过接口对数据进行操作。这样,用户就只知道操作接口对该数据进行操作,而不知道内部是如何做的以及如何表示的—数据的封装。
【例如】银行帐户的抽象与封装
分析:
用户关心的问题:存款、取款、转帐、查询、修改密码 数据结构:帐号、余额、利息、密码等
3)继承
所表达的是对象类之间相互的关系。这种关系使的某一类可以继 承另外一个类的特征和能力(数据和操作)。
【例如】现实社会中继承的实例 由此可知:
可实现和增强代码的可重用性——通过继承基类的属性、方法实现;
在创建新的派生类时,只要指明了派生类是由哪个基类派生的便可 自动继承基类的属性和方法。
修改或扩充程序功能时不必修改原代码(增加新代码即可)。
(二)继承的几个名词:
基类(父类)
派生类(子类)
直接基类及间接基类
(三)继承的分类
单继承
多继承
4)多态
多态性:是指不同的对象在收到相同的消息时产生多种不同的行为。
多态性的例子。 “+”:2+3=5
设复数a=2+3i b=3+4i 则:a+b=5+7i
(运算符重载)
max()函数的调用:
max(a,b)——求二个数之间的最大数; max(a,b,c) ——求三个数之间的最大数;
max(*p,n)——求n个数的最大数。
(函数重载)