面向对象程序设计 Java面向对象程序设计的基本概念(一)

面向对象编程涉及到对象、封装、类、继承、多态等几个基本概念。

面向对象程序设计 Java面向对象程序设计的基本概念(一)


文章图片

图:计算机语言的发展过程
01
对象 面向对象是什么意思?
面向对象编程是将人们认识世界常用的思维方法应用到编程中。物体是现实世界中存在的东西,它们是有形的,比如某人或某物;它也可以是无形的,如计划或商业交易。对象是构成现实世界的独立单位,人对世界的认识是从分析对象的特征开始的。
物体的特征分为静态特征和动态特征。静态特征是指物体的外观、性质和属;动态特征是指对象的功能和行为。客观事物是复杂的,但人总是从某个目的出发,运用抽象分析的能力,提取出一些最具代表性、最能反映对象本质的特征。
人们把对象的静态特征抽象为属性,用数据描述,用Java语言称为变量;人们把对象的动态特性抽象为行为,用一组代码来表达,完成对数据的操作,在Java语言中称为方法。对象由一组属性和一组对属性进行操作的方法组成。
类 一组具有相同属性和行为的对象称为类。广义地说,具有共同属性的事物的集合叫做类。
在面向对象编程中,类是一个独立的单元,它有一个类名,包含成员变量来描述对象的属性;它还包括类的成员方法,用于描述对象的行为。在Java编程中,类被看作是一种抽象的数据类型,它不仅包括数据,还包括方法。这极大地扩展了数据类型的概念。
类是一个抽象的概念。按类解决问题,必须按类创建一个实例化的类对象,然后通过类对象访问类的成员变量,调用类的成员方法实现程序的功能。这就好比“车”本身就是一个抽象的概念,只有使用特定的车,才能感受到车的功能。
一个类可以创建多个类对象,这些类对象具有相同的属性模式,但可以有不同的属性值。Java程序为每个类对象打开内存空,以便保存自己的属性值。
02
面向对象编程有三个主要特征:封装、继承和多态
封装性 封装是面向对象方法的一个重要原则。
它有两层含义:第一,它把对象的属性和行为看作一个不可分割的整体,把它们“封装”在一个不可分割的独立单元(即对象)中。
还有一个意思是指“信息隐藏”,隐藏不需要外界知道的信息。有些对象的属性和行为允许外部用户知道或使用,但不允许改变,而其他属性或行为不允许外界知道;或者只允许使用对象的功能,尽量隐藏对象功能实现的细节。
封装机制表现在编程中,将描述对象属性的变量和实现对象功能的方法结合起来,定义为一个程序单元,保证外界不能任意改变其内部属性值,也不能任意调动其内部功能方法。
封装机制的另一个特点是为封装在一个整体中的变量和方法指定了不同级别的“可见性”或访问权限。
继承性 继承是面向对象方法中的一个重要概念,也是提高软件开发效率的重要手段。
首先我们有反映事物一般特征的类,然后衍生出反映特殊事物的类。比如现有的汽车类描述汽车的通用属性和行为,进一步产生汽车类,汽车类继承了汽车类。汽车类不仅具有汽车的所有属性和行为,还增加了汽车独特的属性和行为。
在Java编程中,现有的类可以是Java开发环境提供的一批基础程序——类库。用户开发的程序类继承了这些现有的类。这样,类描述的属性和行为,也就是定义的变量和方法,就可以在继承生成的类中充分利用。继承类称为父类或超类,继承类称为子类或派生类。根据继承机制,派生类继承超类的所有成员,并相应地添加一些自己的新成员。

推荐阅读