ACCP6.0 S2 使用Java实现面向对象编程 第一章 下载本文

使用this调用成员方法 public void paly(int n){ health=health-n;

this.print(); //this可以省略,直接调用print(); }

使用this调用重载的构造方法,只能在构造方法中使用,必须是构造方法的第一条语句 public Penguin(String name,String sex){ this.name=name; this.sex=sex; }

public Penguin(String name,int health,int love,String sex){ this(name,sex);//调用重载的构造方法 this.health=health; this.love=love; }

注意:

因为this是在对象内部指代自身的引用,所以this只能调用实例变量、实例方法和构造方法。

this不能调用类变量和类方法。 this也不能调用局部变量

1.4 上机练习 上机练习1

练习——用类图设计Dog和Penguin类 训练要点:

面向对象涉及的过程 用类图描述设计 需求说明

根据本章电子宠物系统中领养宠物功能的需求,运用面向对象思想抽象出Dog类和Penguin类,并使用类图表示。 提示

面向对象设计的过程就是抽象的过程,分三步完成: 发现类、发现类的方法和属性类的方法。

上机练习2

指导——领养宠物并打印宠物信息 训练要点 类的结构

对象的创建、类的属性和方法的调用。

需求说明

根据控制台提示信息选择领养宠物为狗狗,输入昵称、品种等信息,然后打印宠物信息表示领养成功。

实现思路及关键代码

(1) 创建Dog类,定义属性和方法,定义print()方法,定义默认构造方法。

(2) 编写Test类,根据控制台提示信息选择领养宠物为狗狗,输入昵称、品种等信息,创建

Dog对象并打印对象信息

上机练习3

练习——给Dog类增加Dog(name)构造方法

训练要点

构造方法的定义和使用

构造方法的重载,是否提供带参构造方法对默认构造方法的影响 需求说明

给Dog增加Dog(name)构造方法,使用该构造方法创建对象;去掉默认构造方法,分析出现问题的原因。

上机练习4

练习——对企鹅对象的性别属性值进行设定和修改

训练要点

static变量和实例变量的区别 使用final修饰变量

需求说明

给Penguin类提供SEX_MALE和SEX_FEMALE两个静态常量,分别取值”Q仔”或”Q妹”,后来要求变化,规定企鹅的性别只能取值”雄”或”雌”,通过修改静态常量值实现该需求。

提示

创建多个企鹅对象,通过静态常量值的修改体会通过这种方式改变企鹅性别取值的高效性。

本章总结

现实世界是“面向对象”的,面向对象就是采用“现实模拟”的方法设计和开发程序。 面向对象技术是目前计算机软件开发中最流行的技术。面向对象设计的过程就是抽象的过程。

类是对某一类事物的描述,是抽象的、概念上的定义。对象是实际存在的该事物的个体,是具体的,现实的。

如果同一个类中包含了两个或两个以上方法,他们的方法名相同,方法参数个数或参数类型不同,则称该方法被重载了,这个过程称为方法重载。

构造方法用于创建类的对象。构造方法的作用主要就是在创建对象时执行一些初始化操作。可以通过构造方法重载来实现多种初始化行为。 封装就是将类的成员属性声明为私有的,同时提供公有的方法实现对该成员属性的存取操

作。

封装的好处主要有:隐藏类的实现细节;让使用者只能通过程序员规定的方法来反问数据;可以方便的加入存取控制语句,显示不合理操作。