幻灯片1,共30张课程1版本1.0Java编程语言用Java开发基于对象的应用程序面向对象--动物乐园幻灯片2,共30张课程1版本1.0Java编程语言课程内容回顾•面向对象要解决的问题?•类和对象的概念?•面向对象特性:抽象、继承、封装、多态•抽象类的概念、语法、用处•接口的概念、语法、用处•面向对象设计的步骤–发现类–发现类的属性–发现类的方法–优化设计幻灯片3,共30张课程1版本1.0Java编程语言难点突破•面向对象设计的过程•使用权限修饰符进行类的封装•继承关系下构造方法的执行•利用多态减少代码量,提高代码的可扩展性和可维护性•this、super关键字的使用•static、final关键字的使用•接口与抽象类的异同幻灯片4,共30张课程1版本1.0Java编程语言知识梳理:抽象和封装•一切皆对象–用程序描述真实世界–现实世界“是面向对象的”•面向对象设计提抽象的过程–用类图描述设计–设计的过程•发现类•发现类的属性•发现类的方法–抽象的原则•封装–将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问幻灯片5,共30张课程1版本1.0Java编程语言知识梳理:继承2-1•使用继承重构代码的好处:–方便修改代码–减少代码量•子类继承父类的关键字:extends•子类调用父类的属性和方法的关键字:super•继承下的构造方法•使用抽象类实现子类继承父类•访问修饰符总结访问修饰符本类同包子类其他private√默认(friendly)√√protected√√√public√√√√幻灯片6,共30张课程1版本1.0Java编程语言知识梳理:继承2-2•定义抽象类的关键字:abstract•abstract也可用于方法——抽象方法–抽象方法没有方法体–抽象方法必须在抽象类里–抽象方法必须在子类中被实现,除非子类是抽象类•final用法–类不希望再被其他类继承–方法不希望被重写–属性值不希望被改变publicabstractclassPet{}幻灯片7,共30张课程1版本1.0Java编程语言知识梳理:多态2-1•多态的概念:–生活中的多态–程序中的多态•同一个引用类型,使用不同的实例而执行不同操作•使用多态实现思路–编写父类–编写子类,子类重写父类方法–运行时,使用父类的类型,子类的对象•方法重写的规则–在继承关系的子类中–重写的方法名、参数、返回值类型必须与父类相同–私有方法不能继承因而也无法重写幻灯片8,共30张课程1版本1.0Java编程语言知识梳理:多态2-2•使用多态的好处:–提高可维护性–提高可扩展性•instanceof运算符–该运算符用来判断一个对象是否属于一个类或者实现了一个接口,结果为true或false–在强制类型转换之前通过instanceof运算符检查对象的真实类型,可以避免类型转换异常,从而提高代码健壮性对象instanceof类或接口对象instanceof类或接口幻灯片9,共30张课程1版本1.0Java编程语言知识梳理:接口2-1•定义接口的语法:•接口特性–接口不可以被实例化–实现类必须实现接口的所有方法–实现类可以实现多个接口–接口中的变量都是全局静态常量publicinterfaceMyInterface{publicvoidfoo();//其他方法}幻灯片10,共30张课程1版本1.0Java编程语言知识梳理:接口2-2•面向接口编程–接口是一种能力•关心实现类有何能力,而不关心实现细节–接口是一种约定•面向接口的约定而不考虑接口的具体实现幻灯片11,共30张课程1版本1.0Java编程语言综合练习:动物乐园•任务描述:–以面向对象思想设计动物乐园系统–动物乐园包括的成员:猫、鸭子……•属性:名称、腿•方法:叫–设计类图–编码实现幻灯片12,共30张课程1版本1.0Java编程语言综合练习:动物乐园•阶段1:设计猫和鸭类结构,画出类图并写出代码–训练要点:•面向对象程序设计•类的封装、继承•抽象类–需求说明:•以面向对象思想设计猫和鸭的类结构,画出类图并写出代码–实现思路:1、发现类2、类的属性3、发现类的方法4、优化设计完成时间:30分钟完成时间:30分钟幻灯片13,共30张课程1版本1.0Java编程语言综合练习:动物乐园•阶段1:设计猫和鸭类结构,画出类图并写出代码–难点指导•面向对象程序设计幻灯片14,共30张课程1版本1.0Java编程语言综合练习:动物乐...