第六章 面向对象编程基础

目录

6.1 面向对象概述

6.12类

6.1.3面向对象程序设计的特点 

面向对象程序设计具有以下特点:封装性。继承性。多态性。

1. 封装

2.继承

6.2.2成员方法

在Java语言中,成员方法对应于类对象的行为,它主要用来定义类可执行的操作,它是包含一系列语句的代码块,本节将对成员方法进行详细讲解。1.成员方法的定义

 2. 成员方法的参数 

3.多态上面介绍了继承,了解了父类和子类,其实将父类对象应用于子类的特征就是多态,多态的实现并不依赖具体类,而是依赖于抽象类和接口。

例6.1定义一个add方法,用来计算两个数的和,该方法中有两个形参,但在方法体中,其中的一个形参x执行加y操作,并返回x;在main方法中调用该方法,为该方法传入定义好参;最后分别显示调用add方法计算之后的x值和实参x的值。代码如下:

例6.2定义一个change方法,该方法中有一个形参,类型为数组类型,在方法体中,改变数组的索引0、1、2这3处的值;在main方法中定义一个一维数组并初始化,然后将该数组作为参要传递给change方法,最后输出一维数组的元素。代码如下

例6.3定义一个add方法,用来计算多个int类型数据的和,在具体定义时,将参数定义。类型的不定长参数:在main方法中调用该方法,为该方法传入多个 iat类型的数据,并输出计意果。代码如下:

2.3 构造方法

例6.4创建猎豹类,用成员方法实现猎豹的行为。

例6.5创建一个图书类,将构造方法设为私有,这时如果需要创建图书类的对象,只能定义一个static方法,并调用该静态方法生成图书类的对象

6.2.4局部变量

例6.6在项目中创建CreateObject类,在该类中创建对象并在主方法中创建对象。

6.2.7 访问对象的属性和行为

例6.7在项目中创建TransferProperty类,在该类中说明对象是如何调用类成员的。

6.2.8 对象的销毁每个对象都有生命周期,当对象的生命周期结束时,分配给该对象的内存地址会被回收。在其扫他语言中需要手动回收废弃的对象,但是Java拥有一套完整的垃圾回收机制,用户不必担心废弃的对象占用内存,垃圾回收器将回收无用的但占用内存的资源。在谈到垃圾回收机制之前,首先需要了解何种对象会被Java虚拟机视为垃圾。主要包括以下两种情况:(1)对象引用超过其作用范围,这个对象将被视为垃圾,如图6.20所示。(2)将对象赋值为null,如图6.21所示。

6.29this关键字

例6.8创建Book2类,定义一个成员变量name并赋初值,在定义一个成员方法showName输出方法name中的值

例6.9在Book3类的方法中,使用this关键字

例6.10我去买鸡蛋灌饼,我要求加几个蛋时,烙饼大妈就给饼加几个蛋,不要求的时候就只加一个蛋。创建鸡蛋灌饼EgeCake类,创建有参数和无参数构造方法,无参数构选方法调用有参数实现初始化。

6.3static 关键字

例6.11创建一个水池类,创建注水方法和放水方法,同时控制水池中的水量

例6.12建Soiolisible类, 包含一个静奇院力一事意自以只多意,在构造方法中给两个变重起初值,然后分别实例化两个不同的对象。

6.3.2 静态常量有时,在处理问题时会需要两个类共享一个数据常量。例如,在球类中使用PI这个常量除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量。这时没有必要在两候时创建PI这个常量,因为这样系统会将这两个不在同一个类中的常量分配到不同的内存空间费了系统资源。为了解决这个问题,可以将这个常量设置为静态的。PI常量在内存中被共享如图6.28所示。

例6.13将π的值赋给静态常量PI,使用PI计算圆类的面积和球类的体积

6.3.3静态方法如果想要使用类中的成员方法,需要先将这个类进行实例化,但有些时候不想或者无法创建类扫一扫,的对象时,还要调用类中的方法才能够完成业务逻辑,此时就可以使用静态方法。调用类的静态方法,无需创建类的对象。语法如下:

例6.14不创建对象,直接使用静态方法

6.3.4静态代码块在类中除成员方法之外,用static修饰代码区域可以称之为静态代码块。定义一块静老可以完成类的初始化操作,在类声明时就会运行。语法如下:

例6.15创建静态代码块,非静态代码块,构造方法,成员方法,查看这几处代码的调用顺序

6.4类的主方法主方法是类的入口点,它定义了程序从何处开始;主方法提供对程序流向的控制,Java编译器通过主方法来执行程序。主方法的语法如下:public static void main(String[] args)(//方法体在主方法的定义中可以看到主方法具有以下特性。(1)主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的。(2)主方法没有返回值。(3)主方法的形参为数组。其中args[0]~args[n]分别代表程序的第一个参数到第n+1个参数,可以使用args.length获取参数的个数。正出码 并在Eclinse中设置程序参数。

例6.16在项目创建 TestMain 类,在组方法中编写以下代码

6.1 面向对象概述

人们开始将另一种开发思想引入程序中即面向对象的开发思想。它将所有预处理的问题抽象为对象,同时了解这些时能些相应的属性以及行为,以解决这些对象面临的一些实际问题,这样就在程序开发中引入了象设计的概念,面向对象设计实质上就是对现实世界的对象进行建模操作。

6.12类

如果需要对同一类事物统称,就不得不说明类这个概念。
类就是同一类事物的统称,如果将现实世界中的一个事物抽象成对象,类就是这类对象的统称,如鸟类、家禽类、人类等。类是构造对象时所依赖的规范,如一只鸟具有一对翅膀,它可以用这对翅膀飞行,而基本上所有的鸟都具有翅膀这个特性和飞行的技能,这样具有相同特性和行为的一类事物就称为类,类的思想就是这样产生的。对象就是符合某个类的定义所产生出来的实例。更为恰当的描述是,类是世间事物的抽象称呼,而对象则是这个事物相对应的实体。如果面临实际问题,通常需要实例化类对象来解决。

6.1.3面向对象程序设计的特点 

面向对象程序设计具有以下特点:
封装性。
继承性。
多态性。

1. 封装

封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类户隐藏其实现细节,这就是封装的思想。例如,用户使用计算机时,只需要使用手指能地以实现一些功能,无须知道计算机内部是如何工作的,即使可能知道计算机的工作原理, 个计算机时也并不完全依赖于计算机工作原理这些细节。 
采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易地直接结构,只能执行类允许公开的数据。这样就避免了外部操作对内部数据的影响,提高了程序的可维护性

2.继承
2.继承性主要利用特定对象之间的共有属性。例如,平行四边形是四边形,正方形、矩形也是四边形,平行四边形与四边形具有共同特性,就是拥有4条边,可以将平行四边形类看作四边形的延伸,平行四边形复用了四边形的属性和行为,同时添加了平行四边形独有的属性和行为,如平行四边形的对边平行且相等。这里可以将平行四边形类看作是从四边形类中继承的。在Java语言中将类似于平行四边形的类称为子类,将类似于四边形的类称为父类或超类。值得注意的是,可以说平行四边形是特殊的四边形,但不能说四边形是平行四边形,也就是说子类的实例都是父类的实例,但不能说父类的实例是子类的实例。图6.6阐明了图形类之间的继承关系

6.2.2成员方法
在Java语言中,成员方法对应于类对象的行为,它主要用来定义类可执行的操作,它是包含

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值