Java程序设计实训教程课件项目五 类和对象.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java程序设计实训教程课件项目五 类和对象.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计实训教程课件项目五 类和对象 Java 程序设计 教程 课件 项目 对象
- 资源描述:
-
1、项目5 类和对象任务一 掌握类和对象基本知识任务二 掌握类的封装项目实战一 类和对象 5.1 任务一任务一 掌握类和对象基本知识掌握类和对象基本知识 5.1.1 面向对象基本概念面向对象基本概念 面向对象(面向对象(Object-oriented)就是一种)就是一种常见的程序结构设计的方法面,面向对象常见的程序结构设计的方法面,面向对象(OO)方法是一种程序设计方法,其基本思)方法是一种程序设计方法,其基本思想是使用抽象、对象、类、继承、消息、多想是使用抽象、对象、类、继承、消息、多态等基本概念进行程序设计。态等基本概念进行程序设计。1.1.抽象:抽象:科学研究中经常使用的一种方法,即是从现实
2、世界的众多的事物中抽出事物的本质特性而暂时不考虑它们的细节,得到众多事物的一个清晰的基本框架的手段而已。客观世界的对象和操作 计算机算法 解空间 数据 程序员对问题的表达(抽象)客观世界的算法 结果 客观世界的对象 程序设计的对象和操作 输出数据 问题空间 2.2.对象对象 对象没有一个明确的定义。我们可以将对象看作是现实生活当中头能够被识别、被理解,具有明确的行为、思想、感觉的人或事物。对象具有一些特征:对象是现实的抽象的事物,对计算机所能完成的任务的描述起到重要作用。对象应具有某些属性,即数据,同时也表现出特定的行为。可以通过对属性和行为的定义,将相似的对象划分为同一类。通过这个类还可以派
3、生出更多的具体的对象。对象之间还可以进行相互作用或相互操作,也就是说,一个对象可以通过执行某些指令来操作另外一个对象的数据。在和对象交互的过程中,对象内部的运作方式对用户是不可见的。这就保证了对象的安全性。对象可以被其他系统包含和复用。3.3.类类 类是现实世界某些对象的共同特征(属性和操作)的表示,是对象的蓝图或模型,通过类可以创建多个对象。4.4.封装封装 封装是把数据和方法放到一个类中的过程,即将信息隐蔽的过程。是什么促使我们将信息隐蔽呢?原因有两点:一、防止程序员接触他们不该接触的东西通常是内部数据类型的设计思想。若只是为了解决特定的问题,用户只需操作接口即可,毋需明白这些信息。二、只
4、允许库设计人员修改内部结构,不用担心它会对客户程序员造成什么影响。5.1.2 5.1.2 类的声明类的声明类的声明类的声明 类声明定义一个类的名称、访问权限、与其他类的关系等。声明类的格式为:类修饰符 class 类名 extends 父类名 implements接口名表 类体 说明:class 声明类的关键字。extends 指明本类继承的父类,在其后指定父类名 implements 指明本类使用的接口,在其后指定接口名表 类修饰符 用于指定类的使用特性和访问权限,例如类是否为抽象类或最终类等。可取以下三种之一:public 表明本类是共有类,在本包与其他包内均可访问。abstract 表明
5、本类为抽象类,必须被继承后才能使用。final 表明本类为最终类,不能被其他类继承。类声明紧接一对大括号,在大括号中是类体。【例例51】程序题目程序题目public class People public String name;public char sex;public int age;public String Idcard;public People()public Peple(String name,int age,String Idcard)this.name=name;this.age=age;this.Idcard=Idcard;public String getIdcard(
6、)return this.Idcard;public String setIdcard(String Idcard)this.Idcard=Idcard;下面是一些使用不同修饰符组合进行类定义的例子。(1)空类 class empty (2)最简单的类 class People 类体;(3)公有类public class People 类体;(4)最终类public final class People 类体;(5)抽象类public abstract class People 类体;(6)继承了父类People的子类public class Employee extends People 类
7、体;(7)继承了父类且实现了一个接口的类public class Employee extends People implements Comparable 类体;5.1.3 5.1.3 方法的声明方法的声明完整的成员方法声明语法格式:完整的成员方法声明语法格式:修饰符 方法返回值类型 方法名(形参数列表)throws 异常类 语句序列;return 返回值;例如,下面的程序是求最小值的方法声明。public int min(int a,int b)int c;c=(ab)?a:b;return c;说明:说明:(1)方法的修饰符是用于指定本方法的访问权限和特性,例如,方法是否为公有方法或类方
8、法等。方法的修饰符有以下几种:public|private|protected|default:该修饰符被称为访问控制修饰符,其规定了成员方法的可见范围。例如,public访问修饰符表示该方法可以被任何其他代码调用,而private表示方法只能被类中的其他方法调用。static该修饰符声明了本方法是类方法。final该修饰符声明了本方法为不可被子类所重写的最终方法。不可与abstract修饰符同时使用。abstract该修饰符声明了本方法为抽象类中的抽象方法,必须在非抽象的子类中实现具体操作。不可与final修饰符同时使用。(2)方法的返回值类型可以是基本数值型,也可以是任一引用类型,当没有返
9、回值时,其类型默认为void。(3)形参数列表用于接收方法调用时外界传来的参数,也可以没有参数,但注意的是小括号是不能省略的。每个参数都必须要有自己独立的类型声明,即使相邻的两个参数的类型是相同的也不能公用类型声明,参数之间要用逗号隔开。(4)throws 异常类:其中出现多个异常类时要用逗号隔开。5.1.4 5.1.4 方法调用及参数传递方法调用及参数传递1 1方法调用方法调用方法根据其是否带有static修饰符可以分为类方法和对象方法(实例方法)。(1)对象方法调用的格式:对象名方法名(实参列表);(2)类方法调用的格式:类名方法名(实参列表);没有返回值的方法调用,通常调用的方式比较简单
10、,一般直接构成方法调用语句。例如:System.out.println(“I am a boy!”);例如:int min0;min=Math.min(3,4);2参数传递参数传递(1)形参和实参【例例5 52 2】程序题目程序题目public class Test public int min(int a,int b)int c;c=(ab)?a:b;return c;public static void main(String args)int min=0,x=10,y=20;Test t=new Test();min=t.min(x,y);System.out.println(“min
11、is”+min);(2 2)值传递)值传递 【例例5 53 3】程序题目程序题目/简单类型是用值传递 class Test void method(int i,int j)i=i+10;j=j-10;public class CallByValue public static void main(String args)Test object=new Test();int a=25,b=30;System.out.println(调用前a和b的值:+a+b);object.method(a,b);System.out.println(调用后a和b的值:+a+b);(3 3)引用传递)引用传递【
12、例例54】程序题目程序题目/当参数为数组时,传递的方式为引用传递public class T2 public static void main(String args)int a=1,2,3;method2(a);System.out.println(a0);System.out.println(a1);System.out.println(a2);static void method2(int a)a0=0;a1=7;a2=8;【例例5 55 5】程序题目程序题目/当参数为对象时,传递的方式为引用传递class Test int a,b;Test(int i,int j)a=i;b=j;/传
13、递一个对象 void method(Test ob)ob.a=ob.a+10;ob.b=ob.b-10;public class CallByReference public static void main(String args)Test object=new Test(25,30);System.out.println(调用前object.a和object.b的值:+object.a+object.b);object.method(object);System.out.println(调用后object.a和object.b的值:+object.a+object.b);5.1.5 5.1
14、.5 对象的创建和使用对象的创建和使用1.1.对象声明对象声明类 对象2.2.对象的创建对象的创建(1)先声明对象,再创建对象格式一:格式一:类名 对象变量;新对象的声明对象变量=new 类名(参数列表);新对象内存空间的分配(2)声明对象的同时创建对象格式二:格式二:类名 对象变量=new 类名(参数列表);3.3.引用对象的成员变量和调用对象方法引用对象的成员变量和调用对象方法对象.成员变量对象.成员方法(参数列表)aday.year=2006;/引用对象的成员变量aday.setDate(2006,1,28);/调用对象的方法abcd.equals(abc)例如:People perso
15、n1=new People();People person2=person1;person1.name=“王明”;4 4thisthis引用引用 this用来访问本类的成员变量和成员方法的引用格式如下:(1)this成员变量 (2)this成员方法(参数列表)一般情况下,在以下几种情况下需要使用到this:第一,通过this调用另一个构造方法,用法是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。第二,函数参数或是函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。第三,在函数中,需要引用该函所属类
16、的当前对象时候,直接用this。5 5supersuper引用引用 super用来访问父类的成员变量和成员方法的引用格式有以下几种:(1)super成员变量 (2)super(参数列表)(3)super.成员方法(参数列表)针对super的引用方式,下面总结一下super的用法:第一,在子类构造方法中要调用父类的构造方法,用“super(参数列表)”的方式调用,参数不是必须的。同时还要注意的一点是:“super(参数列表)”这条语句只能用在子类构造方法体中的第一行。第二,当子类方法中的局部变量或者子类的成员变量与父类成员变量同名时,也就是子类局部变量覆盖父类成员变量时,用“super.成员变量
17、名”来引用父类成员变量。当然,如果父类的成员变量没有被覆盖,也可以用“super.成员变量名”来引用父类成员变量,不过这是不必要的。第三,当子类的成员方法覆盖了父类的成员方法时,也就是子类和父类有完全相同的方法定义(但方法体可以不同),此时,用“super.方法名(参数列表)”的方式访问父类的方法。【例例5-65-6】程序题目程序题目class Personpublic int number;private String name;private int age;protected void setName(String name)this.name=name;protected void s
18、etAge(int age)this.age=age;protected void print()System.out.println(姓名:+name+,年龄:+age);public class DemoSuper extends Personpublic void print()System.out.println(DemoSuper:);super.print();public static void main(String args)DemoSuper test=new DemoSuper();test.setName(张三);test.setAge(20);test.print()
展开阅读全文