OOP

Object 对象
Oriented 面向、导向
Programming 规划、设计、编程



OOP 达到了软件工程的三个主要目标:

重用性、灵活性和扩展性。
OOP的几大特性:
封装、继承、多态
使人们的编程与实际的世界更加接近,所有的对象被赋予属性和方法,结果编程就更加富有人性化。

类与对象概念

类:实际上是对某种类型对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。



对象:对象就是类的实例。类与对象的关系就如类型和变量的关系,对类的操作都可以通过对象来实现。当一个类定义了多个对象时,每个对象拥有各自的成员数据。

构造函数

是特殊的成员函数;在创建对象时首先由系统自动调用。它的作用是为新创建的对象分配空间,或为该对象的成员变量赋值等;



构造函数名必须与其类名称完全相同,并且不允许有返回值。

封装

定义:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。
优点:
1)封装允许类的客户不必关心类的工作机理就可以使用它。

2) 所有对数据的访问和操作都必须通过特定的方法,否则便无法使用,从而达到数据隐藏的目的

继承

优点:
继承的方法允许在不改动原程序的基础上对其进行扩充,这样使得原功能得以保存,而新功能也得以扩展。这有利于减少重复编码,提高软件的开发效率。
关键字java中:extends
基类(父类)与派生类(子类)

修饰符:public private protected 默认

多态

优点:

具有表现多种形态的能力的特征


使用不同的实例执行不同的操作


继承的存在


继承是多态的基础,没有继承就没有多态


子类重写父类方法


多态下调用子类重写后的方法


父类引用指向子类对象


子类到父类的类型转换