面向对象与基于对象的区别:
1.通常“基于对象”是使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点。
而“多态”表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”。
2.现在的很多流行技术都是基于对象的,它们使用一些封装好的对象,调用对象的方法,设置对象的属性。
但是它们无法让程序员派生新对象类型。
他们只能使用现有对象的方法和属性。
3.当判断一个新的技术是否是面向对象的时候,通常可以使用后两个特性来加以判断。
“面向对象”和“基于对象”都实现了“封装”的概念,但是面向对象实现了“继承和多态”。
1.唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。
在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
2.抽象性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。
3.继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。
4.多态性(多形性) 。
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。
可以从以下五个方面去理解面向对象中的多态:多态的概念:不同类的对象对同一消息作出不同的响应就叫做多态。
多态的分类:编译时的多态是一种静态分派。
运行时的多态是一种动态分派。
多态存在的三个条件:一是有继承关系、二是子类重写父类方法、三是父类引用指向子类对象。
多态的地位:面向对象有四个基本特性是抽象、封装、继承、多态。
而抽象、封装、继承这三个特征是多态的基础,多态是抽象、封装、继承的表现。
多态,是应用程序中非常重要的一个部分,多态的作用:多态的作用是解耦,多态是设计模式的基础,不是所有的设计模式都使用到了多态,但是23种设计模式中的很大一部分都是基于多态。