java多态 ppt_Java的继承与多态一.ppt

Java程序设计 主讲:陈伟 宿州职业技术学院计算机信息系 Java的继承与多态(一) 类的继承 子类的创建 方法覆盖 回顾 类是具有相同属性和行为的一组对象的集合 ,对象是类的实例 封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节 类可用Class来定义,类的变量和方法可被该类的实例访问,圆点符号用于访问对象的成员,构造函数在创建对象时初始化对象 包可用package来申明 ,可用import 来导入包 目标 理解继承的概念 掌握通过父类创建子类的方法 理解子类和父类构造方法的执行顺序 掌握实现方法覆盖的方法 面向对象特性概述 继承、封装、多态是面向对象程序设计的3个重要特性。 通过继承,以既有类为基础,派生出新类,达到代码重用的目的; 通过封装,对类对象的数据成员进行访问控制,起到数据保护的作用; 通过多态,程序能够动态的匹配同名方法,使程序更加灵活。 继承的基本概念 继承是一种由已有的类创建新类的机制。利用继承,可以先创建一个公有属性的一般类,根据一般类再创建一个具有特殊属性的新类。 新类继承一般类的状态和行为,并根据需要增加它为自己的新的状态和行为。 由此继承而得到的类为子类,被继承的类为父类(超类)。JAVA不支持多继承(子类只能有一个父类)。 继承 继承的特点 继承的优点 Person类的定义 说明 继承能够使子类拥有(继承)父类的非私有属性和方法(即可以继承public、protected和默认访问属性的成员),而不需要在子类定义时重新定义父类中的这些同名属性和方法。当修改父类中的某个属性和方法时,子类中也会同样得到修改。这样,就可以省去重复定义成员的烦琐,实现代码重用,同时提高了代码的可维护性。 一个父类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的公共属性和方法。一个子类可以继承它的父类(或祖先类)中的属性和方法,这些属性和方法在子类中不必定义,子类中还可以定义自己的属性和方法。 创建子类的语法格式 构造方法的继承 通常在定义一个新类的时候,会定义一个相应的构造方法,用来对数据成员进行一些初始化。 构造方法是在创建对象时自动调用,并执行构造方法的内容,构造方法不需从程序直接调用,而是在对象产生时自动执行。 构造方法没有返回值,名称必须与类的名称相同之外。 假如在一个类中定义了构造方法,而由这个类派生出来的子类也定义了构造方法,那生成新的子类对象的时候,构造方法是怎样执行的呢? super 关键字的使用 在Java的覆盖机制中,子类中的同名成员变量或方法隐藏了超类的成员变量或方法,如果在子类中,希望使用父类中的那些被子类覆盖的成员或方法,就需要借助于super这个关键字。另外,若在子类中调用父类的构造方法,也需要利用super实现。 this关键字的使用 super——用来表示直接父类。 this——访问当前对象。 当在一个类中要明确指出使用当前对象本身的变量或方法时,就可以使用this关键字代表当前类。 this的另一个用途是调用当前对象的另一个构造方法。假如一个类中定义了几个构造方法,可以使用this关键字引用当前类中定义的其他构造方法。 super&this示例 super&this示例(续) super&this示例(续) 覆盖 覆盖是指在子类中,利用完全相同的方法名,返回类型和参数,重新实现父类的某一成员方法。 当需要对象响应同样的方法,但与超类中原来的方法有不同行为时,需要超越(抑制)该方法。用新的方法体取代原来的方法,但使用相同的方法名 覆盖示例 覆盖示例(续) 覆盖示例(续) 父类引用指向子类对象实现多态 访问修饰符 3-1 信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因 信息隐藏的原因包括: 对任何实现细节所作的更改不会影响使用该类的代码 防止用户意外删除数据 此类易于使用 访问修饰符 3-2 访问修饰符 3-3 访问修饰符可访问性 方法修饰符 static 修饰符 3-1 static修饰符修饰的方法叫静态方法 目的 使该方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法 static 修饰符 3-2 调用静态方法的语法为: classname.methodname( ); static 修饰符 3-3 演示:示例 6 final 修饰符 abstract 修饰符 3-1 由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类 抽象方法必须声明在抽象类中 抽象方法语法: abstract type method_name(parameter_list); 声明抽象类语法: abstract class{…… } 使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值