面向对象的特征主要有以下几个方面:
(1)抽象:抽象是指将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象,抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。
(2)继承:继承是从已有的继承信息创建新类的过程。提供继承信息的类被称为父类(也称超类、基类);得到继承的信息的类叫做子类(也称派生类)。继承让变化中的软件 系统有了一定的延续性,同时继承也是封装程序过程中可变因素的重要手段。
(3)通常认为封装就是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口,面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在 类中编写的方法就是对实现细节的一种封装;我们编写的一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可以隐藏的东西,只向外界提供·最最简单的变成接 口。
(4)多态性:是指允许不同子类型的对象对同一消息作出不同反应。简单地说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性可以分为编译时的多态性和运行时的多态性。例如,方法重载(overload)就是一种编译时的多态性(也称前绑定),而方法重写(override)实现的就是运行时的多态性(也称后绑定)。