java程序设计项目教程项目三

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

相关知识
1、基本概念 面向对象程序设计是一种全新的程序设计理念,它
的关键是将数据及对数据的操作整合在一起,形成 一个相互依存、不可分割的整体——对象。对相同 类型的对象进行抽象和处理,可以对结构复杂而又 难以用以前方法描述的对象,设计出它的类。面向 对象程序设计就是设计和定义这些类,定义好的类 可以作为一个具体的数据类型进行类的实例化操作。 通过类的实例化操作,就可以得到一系列具有通用 特征和行为的对象。下面就来学习类和对象的基本 概念及类的基本特征。
子类 S tu d en t
继 承 父 类 P erso n 的 成 员 增 加 S tu d en t 类 的 成 员 子类 后代类 …… 继承 继承 ……
(1)子类的创建 语法格式如下:
class 子类名 extends 父类名
final class CreditCard extends Card { private double money=0.0; public double getMoney() { return money; } public void setMoney(double money) { this.money=money; } }
封装的目的:
① 隐藏类的实施细节。
② 迫使用户通过接口去访问数据。
③ 增强代码的可维护性。
3、this应用 在User类种 多次用到了this 关键字,下面对它做一
下介绍 1)当方法中传递的参数与类的属性重名的时候, 使用this来区分类的属性和方法中同名的局部变量。 2)方法的返回值是当前类的对象的时候,需要使 用this关键字。 3)定义类的时候,如果写了多个构造方法,经常 会在一个构造方法的第一条语句使用this()调用 它前面定义好的构造方法,以免出现重复代码。
接口名序列] { // 类主体 } 说明: ①“修饰符”通常为访问控制符、特征说明符。可 以使用的修饰符有 public、final、abstract。 ② “class”是定义类的关键字,[ ]中的内容为可选 内容。
③“类名”要符合标示符的命名规范、体现类
的功能,习惯上首字符大写。 ④ “extends 父类名”表示该类继承了一个 类,父类名指明被继承的类名称。 ⑤“implements 接口名序列”表示该类所实 现的接口,接口名序列指明该类要实现的一 个或多个接口的名称,若实现多个接口则用 逗号分隔。 ⑥“类主体”是类设计的主体部分,一般包 括成员变量和成员方法。
//构造方法
User(String userName,String sex,String age,Card card) { this.userName=userName; this.sex=sex; this.age=age; this.card=card; }


java中类的限定词的作用范围比较
同一个类 √ √ √ √ √ √ 同一个包 不同包的子类 不同包非子类
权限修饰符 private default protected
public




2、封装 面向对象的另一个重要的特征就是封装。在本节前
面的例子中类的属性和方法没有设置访问限制,这 种方式使得类中或类之外访问类成员没有区别,都 可以任意修改类中的成员,调用类中的方法对数据 进行操作,是对象具有潜在危险的不稳定状态。因 此我们希望有一个更好的符合面向对象程序设计思 想的解决办法,这就是类的封装原则。在一个类中 定义的属性由该类自身进行操作,不希望别的类对 类中的属性进行直接操作,而是通过声明一些公有 的方法提供给其它类来调用,达到访问类中属性的 目的。
项目三 ATM取款管理系统
中国人民大学出版社
技能目标

完成ATM取款机的服务功能,为用户提供存款、取款、余额查询、修改 密码、查看用户信息等服务。
知识目标


理解类和对象的概念; 掌握类的定义及对象的创建; 掌握对象的使用; 掌握类的封装、继承和多态; 理解抽象类的定义并学会使用抽象类; 掌握接口的声明及实现方法; 掌握包的定义及使用的基本方法; 开发一个ATM 取款机管理系统,该系统的主要功能是用户输入卡号、密 码通过验证后,就可以实现存款、取款、余额查询、修改密码、查看用 户信息等操作。
数据又包括作用于数据之上的一组操作的封 装体。类中的数据称为成员变量,类中对数 据的操作称为成员方法。成员变量反映类的 状态和特征,成员方法表示类的行为能力。
(2)定义类 类的定义语法格式: [修饰符] class 类名 [extends 父类名] [implements
项目任务
任务一 银行卡类的实现


到银行来开户,银行要分配给用户一张银行卡,用卡号来唯一标示这张 银行卡。 class Card { String cardNumber=null; //构造方法 Card() { } void setCardNumber(String number) { cardNumber=number; } String getCardNumber() { return cardNumber; } }
任务三 不同类型的银行卡的实现
用户使用的银行卡有不同的类型,如普通银行卡、


信用卡、医保卡等,下面实现银行卡的分类。 class CommonCard extends Card { } class Curecard extends card { }

//访问成员变量的普通方法 public void setUserName(String userName) { this.userName=userName; } 。。。。。。。 public Card getCard() { return card; }
public static void main(String[] args) {
相关知识
1、继承
继承根据基础类创建具有特殊属性和行为的
新类。由继承而得到的新类称为子类,被继 承的基础类称为父类。子类继承父类的属性 和行为并根据需要增加自己的状态和行为。 子类和父类的关系如图 。
父类 祖先类
P erso n 成员变量 成员方法 继承 继承 T each er 继 承 父 类 P erso n 的 成 员 增 加 T each er 类 的 成 员 子类
任务二 用户信息类的实现
用户来银行开户,银行分配给用一张银行卡后,还
要记录用户的相关信息,如姓名、性别、年龄等。 class User { private String userName=null; private String sex=null; private String age=null; private Card card=new Card();
成员变量的定义格式为:
[修饰符] 数据类型 变量名[=初值];
成员方法的定义格式为: [修饰符] 返回值类型 方法名(参数列表) { //方法体 }
3、对象 (1)什么是对象 现实世界中,对象(object)是具有某种特征和行为的
结合体,任何事物都可以称为对象。 在面向对象程序设计中,对象是类的实例(instance), 对象与类的关系就像上一章学过的变量与数据类型 的关系一样。对象使用数据和方法描述它的状态和 行为,一般通过对象的成员变量描述其状态,通过 对象的成员方法实现其行为。
类是一种数据类型,对象是用来描述客观事物的一个实体,



类是对象的模板,对象是类的实例化。当用一个类创建一个 对象时,该对象就是这个类的一个实例。 (2)创建对象 在Java中,创建对象包括声明对象和为对象分配内存空间两 部分。 声明对象格式为:类名 对象名; 例如:Circle c1; 为对象分配内存空间要使用new运算符和类的构造方法。 格式为:对象名=new 类名([参数列表]); 例如:c1=new Card(); 在实际应用中,经常将声明对象和为对象分配内存空间合并 为一步执行。 格式为:类名 对象名=new类名([参数列表]);
③类成员与实例成员的区别。 类成员,在Java的类设计中,如果用修饰符static声明它的
一个成员,则该成员就被称为类成员,也成为静态成员。类 成员包括类成员变量和类成员方法。如果static用来修饰成 员变量,则该成员变量称为类成员变量,在访问时可以用 “类名.变量名”的形式进行访问。如果static用来修饰成员 方法,则该成员方法称为类成员方法,在调用时可以用“类 名.方法名(参数列表)”进行调用。并且在类成员方法中只能使 用类成员变量,否则会产生错误。类成员可以通过类名直接 访问,也可以通过对象来访问。 实例成员是不通过修饰符static声明的成员,包括实例成员 变量和实例成员方法,只有创建对象之后才可以访问,通过 对象才能访问实例成员变量和实例成员方法。
2、类
(1)什么是类
类是对一个或几个相似对象的描述,是具有
相同属性和方法的一组对象的集合,它把不 同的对象具有的共性抽象出来。类是同一类 对象的原型,对象是由类创建的。类和对象 是面向对象程序设计的两个最基本的概念, 类是对象的抽象和描述,对象是类的实例化。
在面向对象程序设计中,类(class)是既包括


Card card1=new Card(); card1.setCardNumber("123456789"); User user=new User("张三","男","20",card1); System.out.println("/**User name is: "+user.getUserName()+"**/"); System.out.println("/**Sex is: "+user.getSex()+"**/"); System.out.println("/**Age is: "+user.getAge()+"**/"); System.out.println("/**Card number is: "+user.getCard().getCardNumber()+"**/"); } }
(3)对象的使用
创建对象的过程就是为对象分配内存空间的
过程,一个对象一旦拥有了自己的内存空间, 它就可以调用创建它的类中的方法和使用自 己的变量。要想使用对象还必须通过运算符 “.”来对对象的变量和方法进行访问。 格式为:对象名.变量名 对象名.方法名([实际参数列表])
说明: ①对象可以用“.”运算符访问其变量和方法,但访
问的这些变量和方法会有一定的限制。如例题中的 Circle类,其中radius被定义为私有的变量。所有在 例题中的CircleArea类中就不能使用c1.radius=10; 和c2.radius=50;语句来赋值。具体访问权限见任务 二访问权限控制符部分。 ② 调用有形式参数的方法时,需要用实际参数替换 方法中的形式参数,实际参数的个数、类型及顺序 必须与形式参数一致。调用无形式参数方法时不需 要实际参数,但调用方法名后的()不能省略,它 是方法调用的标志。
wk.baidu.com
相关知识
1、访问权限控制符
访问控制符是一组限定类、类内部的属性和
方法能否被这个类以外的其它类访问和调用 的修饰符。类的访问控制符有public和缺省 (friendly)两个情况,它的使用将在后面包 的使用中讲解。属性和方法的访问控制符有 四个,分别为public、private、protected、 friendly,在通常情况下没有修饰符修饰的时 候缺省为friendly类型。
相关文档
最新文档