了解面向对象
面向对象是Java语言的核心思想,这也是Java语言的一大优势,个人感觉这是Java能够超越C的一个重要原因。
想要了解面向对象概念就需要先了解对象和类的概念:
对象:
对象是一个具体的东西,任何事物都可以被当成对象,比如:一辆车,一个人,一台笔记本。而对象本身则又有着各种各样的属性。这里我们可以用一个表格来进行概括:
在这个例子里,整个表格就可以理解成一个对象(职员对象),而表格中具体的每项数据,则是对象所具有的属性。
类:
当然,JVM可不能识别这个表格,因此这里我们用Java代码对表格进行转化,如下图所示,这就写成了一个类,类中各种变量就对应了表格(对象)中的各个属性。
总结:
- 类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
- 类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。
类的定义
对于一个类来说,一般有三种常见的成员:属性field、方法method、构造器constructor。这三种成员都可以定义零个或多个。
一 . 属性(field,成员变量)
属性用于定义该类或该类对象包含的数据或者说静态特征,在上面图中的id,name等等就属于属性。属性作用范围是整个类体。
属性定义格式:
[修饰符] 属性类型 属性名 = [默认值] ;
属性初始值:
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。
二 . 方法(Method)
方法用于定义该类或该类实例的行为特征和功能实现。方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。
方法定义格式:
[修饰符] 方法返回值类型 方法名(形参列表) {
// n条语句
}
有关方法具体的可以参照我的另一篇专门介绍方法的博客,这里就不详细说明:
方法链接
三.构造器(构造方法,constructor)
构造器用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。
这里具体的介绍同样可以参考上面的网址。
方法链接
====================================================分隔符
题外话
面向对象和面向过程的区别:
面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。它们之间的区别在于面向过程注重于Method方法,而面向对象则注重于Class类。
面向过程思想思考问题时,我们首先思考“怎么按步骤实现?”并将步骤对应成方法,一步一步,最终完成。 面向过程思想适合简单任务,不需要过多协作的情况。即优先考虑方法的构造。
面向对象思想更契合人的思维模式。我们首先思考的是“怎么设计这个事物?” 比如思考造车,我们就会先思考“车怎么设计?”,而不是“怎么按步骤造车的问题”。即优先考虑类的构建。
总结:
- 都是解决问题的思维方式,都是代码组织的方式。
- 面向过程是一种“执行者思维”,解决简单问题可以使用面向过程。
- 面向对象是一种“设计者思维”,解决复杂、需要协作的问题可以使用面向对象。
- 面向对象离不开面向过程:
4.1 宏观上:通过面向对象进行整体设计。
4.2 微观上:执行和处理数据,仍然是面向过程。