一、JAVA与面向对象程序设计
1、什么是面向对象程序设计
面向对象程序设计(Object orienten Programming) 简称OOP,是一种符合人类思维习惯的编程思想,也是一种主流的程序开发方法,现实生活中存在各种不同的事物,这些事物之间存在着各种联系,在程序中使用对象来描述事物,使用对象之间的关系来描述事物之间的联系,这种思想就是面向对象。
面向对象和面向过程是两种不同的程序开发方法。面向过程就是分析解决问题的步骤,然后用函数吧这些步骤一一实现,使用时依次调用,函数是基本的编程单位;面向对象则是找出构成问题的各个对象,面向对象之间的消息传递(方法调用)来解决问题,类是基本的编程单位。
OOP的基本概念包括对象、类、抽象和消息等。
1.1、对象
对象(Object)是用来描述客观事物的一个实体,它可以指具体的事物,也可以指抽象的事物,一个人、一本书、一个玩家、一个棋盘、一个规则都可以看做对象。每个对象都有自己的静态特征和动态行为,把静态特征称为属性,而动态行为称为方法。
1.2、类
类是对一组具有相同静态特征和动态行为的对象的抽象,是对象的模板,对象和类的关系,是具体和抽象的关系;类是在对象之上的抽象,对象则是类的具体化,是类的实例,对象和类的关系,相当于变量和类型的关系,类Person相当于一个新定义的数据类型,而对象“张三”则相当于该类型的一个变量,也叫做实例变量
1.3、抽象
抽象是不断提炼事物关键元素的过程,这些元素往往是该事物区别于其他事物的关键,这些元素构成了事物的本质,如对人“张三”的大量静态特征和动态特征进行提炼(抽象)。
在OOP中,软件设计的过程就是一个不断抽象的过程,抽象使人们更接近于事物的本质,可以使我们暂时忽略问题域中具体的、细节的东西,通过抽象,呈现在人们面前的是一个相对简单的问题域,可以使人们更容易地解决复杂问题
1.4、消息
消息是对象之间进行交互作用和通信的工具。在OOP中,对象功能的实现通常由另一对象对其传递消息开始,传递消息一般由三部分组成;接受消息的对象、消息名、实际参数,也就方法的调用。
软件设计除了不断抽象,另一个重要的过程就是设计对象之间的消息传递
2、OOP的三大特性
2.1封装性
封装是将数据和对数据进行操作的方法几种定义在一个类中,并对外部环境隐藏内部细节。封装的目的是把类的设计者和使用者分开;使用者只能见到类的外部接口。
在OOP中,类是封装的基本单位,良好的封装可以对外提供一致的公共接口而不影响内部实现,提高代码的安全性和可维护性。
2.2继承性
继承是指在已有类的基础上,通过新的属性和方法创建新类的过程。通过继承创建的新类被称为“子类”或“派生类”,被继承的类被称为“基类”“父类”或超类。
2.3多态性
对象根据所接受的消息产生行为,同一消息被不同的对象接收时可能产生完全不同的行为,这种现象被称为多态性。多态有两种实现途径:方法重载和方法覆盖,方法重载是指一个类中定义多个同名方法,这些方法的参数是不同的,方法覆盖发生在子类和父类之间,在子类中重新定义父类中的方法,名字相同,但方法体不同。
多态允许对任意指定的对象自动地使用正确的方法,并通过在程序运行过程中将对象和恰当的方法进行动态绑定来实现
继承、封装、多态是面向对象的三大特性,抽象是面向对象的基础
小结
1、面向对象程序设计OOP的三大特性包括封装、继承、多态
2、java的三个核心平台分别是JavaEE、JavaSE,JavaME
3、java源文件的扩展名为.java,编译生成的字节码文件扩展名是.class
4、JDK环境变量用来存储Java的编译和运行工具所在的路径,而JRE环境变量则用来保存JAVA虚拟机要运行的,class文件路径。
5、类的成员有成员变量和成员方法
6、一个对象的生命周期创建、初始化和使用3个阶段
7、每个类都定义有初始化其成员变量的(构造方法),用以初始化其成员变量,它在创建时时被调用
8、通常用关键字New来新建对象
9、Java中类成员的访问控制符有以下几种:private、public、protected、默认无修饰符。其中private的限定的范围是最严格。
10、Java语言通过接口支持多继承,使类继承具有更灵活的扩展性
11、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性成为多态性