Java课件-项目3--面向对象编程基础.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java课件-项目3--面向对象编程基础.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课件 项目 面向 对象 编程 基础
- 资源描述:
-
1、项目项目3 面向对象编程基础面向对象编程基础主要内容主要内容v3.1 任务描述任务描述v3.2 类和对象类和对象v3.3 继承和多态继承和多态v3.4 接口和包接口和包v3.5 Java异常处理异常处理v3.6 任务实施任务实施能力要求能力要求v理解面向对象编程的基本思想理解面向对象编程的基本思想v掌握类、对象的基本概念,类与对象之间的关系掌握类、对象的基本概念,类与对象之间的关系v能用能用Java语言编写一个类语言编写一个类v能实现对象的生成及对对象的成员方法和成员变能实现对象的生成及对对象的成员方法和成员变量的调用量的调用面向对象程序设计概述面向对象程序设计概述 对象对象 对象的行为(be
2、havior)可以对对象实施的操作,或对象所具有的功能。对象的属性(attribute)对象的外观、性质、属性等。类类 封装性 继承性 多态性面向对象技术的基本概念和特征面向对象技术的基本概念和特征v对象、类和实体对象、类和实体对象对象类类实例化实例化抽象抽象计算机世界计算机世界实体实体抽象数据类型抽象数据类型现实世界现实世界抽象抽象映射映射计算机逻辑的实现计算机逻辑的实现类与对象的概念类与对象的概念对象与类 对象:现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,其基本组成:对象标识 状态(对象的静态属性)行为(对象的操作)(张三,男,吃饭)类:一种抽象的数据类型,是同种对象的集合与抽
3、象。是Java程序的基本组成要素,描述了一类对象的状态和行为,其基本成分包括:成员变量 成员方法(人,性别,吃饭的过程)请大家分析“学生”“孙旭川”类与对象的另一实例类与对象的另一实例v对象是类的实例对象是类的实例类的定义类的定义class 类名称 数据类型 属性名;.;返回值类型 方法名称(参数1,参数2,.)程序语句;.;return 表达式;Java中定义类的通用格式:中定义类的通用格式:Java中定义类的通用格式:中定义类的通用格式:class Student int stuNum;String stuName;char stuSex;int stuAge;void enrol()Sy
4、stem.out.println(“学生”+stuName+”已注册入学”);void selectCourse()System.out.println(“学生”+stuName+”已选课”);String getStuInfo()return“”学号:”+stuNum+”t 姓名:”+stuName+”t 性别:”+stuSex+”t 年龄:”+stuAge;成员变量(对象属性)成员变量(对象属性)成员方法(对象的行成员方法(对象的行为或操作)为或操作)类的成员变量与成员方法类的成员变量与成员方法v成员变量成员变量 1.命名约定 遵循Java标识符的基本规则 遵循命名惯例 2.默认值 未赋值
5、的成员变量将被系统赋予默认值v成员方法基本结构成员方法基本结构type methodName(parameter-list)/方法体 方法返回方法返回类型类型参数列表,参数列表,可选可选方法名方法名对象及对象的使用对象及对象的使用v对象对象 对象是一个动态概念,具有产生、使用和消亡的生命周期 通过new操作符创建对象 对象属性的使用:对象名.属性;对象方法的使用:对象名.方法名();当对象不再使用时,将由系统的垃圾回收机制进行回收。方法的使用方法的使用v 分析下面程序段的输出:public class Func public static double getArea(double l,dou
6、ble w)return l*w;public static void main(String args)double area=getArea(5.0,8.0);System.out.println(“第1个矩形的面积为:”+area);System.out.println(“第1个矩形的面积为:”+getArea(10.0,12.0);getArea(8.0,12.0);v 调试运行例35,观察输出值。方法参数中的值传递与引用传递方法参数中的值传递与引用传递v 分析下面程序段的输出:class Demo public void increase(int x)x=x+5;class Demo
7、Test public static void main(String args)Demo d=new Demo();int x=20;d.increase(x);System.out.println(x=+x);v 调试运行例37,观察输出值当参数为对象时当参数为对象时传递的是引用传递的是引用当参数为基本数当参数为基本数据类型时传递的据类型时传递的是值本身是值本身构造方法构造方法 构造方法是一种特殊的方法,其语法格式如下 类名称()程序语句;语法说明:构造方法的名称必须与类名一致。它没有返回值。由于构造方法主要是给其它类调用的,因此构造方法的访问权限一般都为public。构造方法及其重载构造
8、方法及其重载构造方法所完成的主要工作是帮助新创建的对象赋初值(也称构造函数)。class 类名称 访问权限类名称(类型1 参数1,类型2 参数2,)程序语句;./构造方法没有返回值 在使用构造方法的时候需要注意:它与类具有相同的名称。它没有返回值。由于构造方法主要是给其它类调用的,因此构造方法的访问权限一般都为public。构造方法及其重载构造方法及其重载 在执行javac编译java程序的时候,如果在程序中没有明确声明一构造方法的话,系统会自动为我们的类加入一个无参的且什么都不做的构造方法。public Circle()在Java里,不仅普通方法可以重载,构造方法也可以重载。只要构造方法的参
9、数个数不同,或是类型不同,便可定义多个名称相同的构造方法。注意注意 在Java中,只要申明了一个构造方法(无论有没有参数),则默认的构造方法就不会被生成。因此我们还需要在类中申明一个无参数的构造方法。3.3 继承和多态继承和多态 继承和多态是面向对象程序设计的两个重要的概念。继承和多态是面向对象程序设计的两个重要的概念。一、继承一、继承 继承是由一种现有的类创建新类的机制。继承是由一种现有的类创建新类的机制。先创建一个共先创建一个共有属性的一般类,根据一般类再创建具有共有属性的新类,新有属性的一般类,根据一般类再创建具有共有属性的新类,新类继承了一般类的属性和行为,并根据需要增加它自己的属性类
10、继承了一般类的属性和行为,并根据需要增加它自己的属性和行为。和行为。由继承得到的类称为由继承得到的类称为子类子类,被继承的类称为,被继承的类称为父类父类,也称为,也称为基类或超类基类或超类。类的层次结构类的层次结构v 类继承的语法形式v Java继承的可以采用以下的语法格式:class 父类 /定义父类 class 子类 extends 父类 /用extends关键字实现类的继承例如:class Student extends People /声明学生类Student为人员类People的子类二、多态二、多态 所谓多态,是指一个程序中同名的不同方法共存的所谓多态,是指一个程序中同名的不同方法共
11、存的情况。在面向对象的程序中,多态的情况有多种,可以情况。在面向对象的程序中,多态的情况有多种,可以通过子类对父类方法的覆盖实现多态,也可以利用重载通过子类对父类方法的覆盖实现多态,也可以利用重载在同一个类中定义多个同名的不同方法来实现多态。在同一个类中定义多个同名的不同方法来实现多态。1、方法覆盖、方法覆盖 2、方法重载、方法重载 3、抽象方法和抽象类、抽象方法和抽象类方法的覆盖方法的覆盖v1、方法的覆盖、方法的覆盖v 如果子类中的某个方法与其父类具有相同的名如果子类中的某个方法与其父类具有相同的名称和参数(个数和类型都相同),则称该子类重称和参数(个数和类型都相同),则称该子类重构了该方法
12、(构了该方法(overriding),重构也称为覆盖。),重构也称为覆盖。这样父类定义的方法在子类就这样父类定义的方法在子类就“看不见看不见”了,当了,当子类的这一方法被调用的时候,将直接使用子类子类的这一方法被调用的时候,将直接使用子类定的方法。定的方法。方法覆盖方法覆盖 有关方法重构的规定有关方法重构的规定 子类重构父类方法时,子类方法的返回值类型应当与被子类重构父类方法时,子类方法的返回值类型应当与被重构的方法的类型相同;重构的方法的类型相同;子类不能重构父类的子类不能重构父类的final 和和private 方法;方法;子类不能用实例方法重构父类的子类不能用实例方法重构父类的stati
13、c 方法。子类的方法。子类的static 方法可重构父类的方法可重构父类的static方法,但不能重构父类方法,但不能重构父类的实例方法;的实例方法;子类方法重构父类方法时,子类方法的访问权限修饰符子类方法重构父类方法时,子类方法的访问权限修饰符不能严于父类方法的访问修饰符;不能严于父类方法的访问修饰符;子类若要引用父类中被重构的方法,应使用子类若要引用父类中被重构的方法,应使用“super.方方法名法名”的方式的方式;方法重载方法重载2、方法重载、方法重载 如果在同一个类中定义了多个同名的方法,它如果在同一个类中定义了多个同名的方法,它们或有不同的形参个数或有不同的形参类型,则称们或有不同的
14、形参个数或有不同的形参类型,则称该方法为被重载(该方法为被重载(Overloading)。在调用时,)。在调用时,Java 将根据实参个数或实参类型选择匹配的方法。将根据实参个数或实参类型选择匹配的方法。v 成员方法的重载成员方法的重载v 构造方法的重载构造方法的重载多态多态v方法的动态调用方法的动态调用 类Dog和类Cat都继承了Anima。Animal有一bark方法。多态多态 Animal.java1 public class Animal 2 public void bark()3 Dog.java1 public class Dog extends Animal2 public vo
15、id bark()3 System.out.println(汪汪);4 5 多态多态Cat.java1 public class Cat extends Animal2 public void bark()3 System.out.println(喵喵);4 TestAnimal.java1 public class TestAnimal 2 public static void main(String args)3 4 Animal animal=new Dog();5 animal.bark();6 animal=new Cat();7 animal.bark();8 9 多态多态 输出结
展开阅读全文