面向对象

来源:互联网 发布:知乎 红楼梦 编辑:程序博客网 时间:2024/06/05 06:16
          面向过程的范式重点在于设计方法。面向对象的范式将数据和方法耦合在一起构成对象。在面向过程程序设计中,数据和数据上的操作是分离的,而且这种做法要求传递数据给方法。面向对象程序设计将数据和对它们的操作都放在一个对象中。
       以下是几个基本概念:
        类抽象:是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么,将类的实现和使用分离。

       类封装:类的实现细节经过封装,对 用户隐藏起来,只向外界提供最简单的编程接口(例如手机,我们只需要关注怎么使用就行了,无需知道它的生产工艺和制作流程)。

       继承:从已有的类获得继承信息而创建新的类。提供继承信息的类被称为父类(超类,基类),得到继承信息的类被称为子类(派生类,扩展类)。不是所有的“是一种”(is-a)关系都应该用继承来建模。例如正方形是一种矩形,但是不应该定义一个square类来扩展Rectangle类,因为width和height属性并不适合于长方形。应该定义一个继承自GeometricObject类的square类,并为正方形的边定义一个side属性。通常可以使用super关键字,调用父类的普通方法和构造方法。
      多态:允许不同的子类型的对象对同一消息做出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态意味着父类型的变量可以引用子类型的对象。使用父类对象的地方都可以使用子类的对象。多态可以分为编译时多态和运行时多态。方法重载(overload)实现的是编译时多态(前绑定),而方法重写(override)实现的是运行时多态(后绑定)。
      动态绑定:一个变量必须被声明为某种类型,被称为声明类型。变量的实际类型是被变量引用的对象的实际类。对象在调用某个方法时由实际类型决定的。这就称为动态绑定。

原创粉丝点击