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