面向对象的基本概念
-
面向对象设程序设计(Object Oriented Programming),即OOP。其思想是将事物抽象为对象,对象具有自己的状态和行为,实际就是通过对象对消息的反应来完成一定的任务。
-
面向对象中的两个重点对象和类
-
类
- 类是一种复合数据类型。它封装了类对象的变量和方法,是这一类对象的原型。
-
对象
- 现实生活中任何物体都是对象,在程序中对象是类的实例产物。
-
面向对象的基本特征
-
封装
- 类(或对象)的基本成分(数据和方法)封装在类体(或对象体)之中,使之与外界隔开。
- 类对象的封装方法隐藏了其内部信息的细节,使内部信息不易受外界破坏,同时也为外界访问它提供了简单方便的接口,使类具有模块化的性质。
-
继承
- 类的继承是指一个新的类继承原有类的基本特性。原有类称为父类、超类或基类,新的类称为原有类的子类或者派生类。在子类中,既包含有父类的方法和属性,还可以新增加属性或者方法。
- 类的继承提高了程序的可复用性,使程序的复杂性呈线性增长,而不是呈几何级数增长。不仅提高了代码复用率还提升了软件开发效率。
- 继承拥有三种实现方式,分别是实现继承、接口继承、和可视继承
- 实现继承是指使用父类的属性和方法而不需要其他的属性和方法。
- 接口继承是指仅使用属性和方法的名称并且子类要有实现的功能。
- 可视继承是指子窗体使用父窗体的外观和实现功能的能力。
-
多态
- 多态是指一个名称具有多种功能,或者相同的接口有多重实现方法。java中是通过重载、覆盖、和接口来实现多态(重载是在编译时决定,覆盖在运行时决定)。 它的机制使得具有不同内部结构的对象可以共享相同的外部接口。
面向对象的设计原则
单一职责原则(Single Responsibility Principle)
定义
- 每一个类专注于做一件事情,只有一个引起该类变化的原因。
实操
看上面的代码,这个例子是一个person实体类,人的身高体重属于业务对象,与其对应的方法负责人的属性。然而吃是业务逻辑主要负责人的行为。所以业务对象和业务逻辑两种原因都可以引起Person类的变化,发生多于一个导致类变更的原因的情况,违背了单一职责原则。为