在父类中只定义一些通用的属性与方法,例如: 在父类中只定义一些通用的属性与方法,例如:public class AccpTeacher { private String name; // 教员姓名 private String school; // 所在中心 publi
c AccpTeacher(String myName, String mySchool) { //初始化属性值 初始化属性值 } public void giveLesson() { //授课方法的具体实现 } 授课方法的具体实现 public void introduction() { //自我介绍方法的具体实现 } 自我介绍方法的具体实现 }12
面向对象的Java实现封装
如何实现继承 3-2子类自动继承父类的属性和方法, 子类自动继承父类的属性和方法,子类中可以定义特定 的属性和方法public class AccpTeacher { private String name; // 教员姓名 public class AccpJavaTeacher2 extends private String school;// 所在中心 AccpTeacher { public AccpTeacher (String public AccpJavaTeacher2(String myName, String mySchool) { myName, String mySchool) { //初始化属性值 初始化属性值 super(myName, mySchool); } } public void giveLesson() { public void giveLesson(){ //授课方法的具体实现 授课方法的具体实现 System.out.println("启动 启动Eclipse"); 启动 } super.giveLesson(); public void introduction() { } //自我介绍方法的具体实现 自我介绍方法的具体实现 } 由于giveLesson()方法与 由于 方法与 } 父类的实现有所不同, 父类的实现有所不同,因 } 父类中的属性和方法可 此重写了该方法 以被子类继承 方法重写:子类和父类的方法具有相同的名称,参数列表, 方法重写:子类和父类的方法具有相同的名称,参数列表,返回类型13
面向对象的Java实现封装
如何实现继承 3-3子类的构造方法中,通过 子类的构造方法中,通过super关键字调用父类的构造方法 关键字调用父类的构造方法public class AccpJavaTeacher2 extends AccpTeacher { public AccpJavaTeacher2(String myName, String mySchool) { super(myName, mySchool); } 通过调用父类的构造方法, 通过调用父类的构造方法, } 完成对属性值的初始化
方法重写后,通过 方法重写后,通过super关键字调用父类的方法 关键字调用父类的方法public class AccpJavaTeacher2 extends AccpTeacher { public void giveLesson(){ System.out.println("启动 Eclipse"); 启动 super.giveLesson(); } }14
面向对象的Java实现封装
一切类的"祖先" 一切类的"祖先"——Object所有的Java类都直接或间接地继承了 在Java 中,所有的 类都直接或间接地继承了 ng.Object类 类public class MyObject { //… } public class MyObect extends Object { //… }
中调用MyObject 在Eclipse中调用 中调用 对象的成员, 对象的成员,会自动弹出继 承自Object的所有方法 承自 的所有方法
面向对象的Java实现封装
小结 1
请编码实现动物世界的继承关系: 请编码实现动物世界的继承关系:动物( ),睡觉 动物(Animal)具有行为:吃(eat),睡觉(sleep) )具有行为: ),睡觉( ) 动物包括:兔子( ),老虎 动物包括:兔子(Rabbit),老虎(Tiger) ),老虎( ) 这些动物吃的行为各不相同(兔子吃草,老虎吃肉); );但睡觉 这些动物吃的行为各不相同(兔子吃草,老虎吃肉);但睡觉 的行为是一致的. 的行为是一致的.
请通过继承实现以上需
求,并编写测试类 请通过继承实现以上需求,并编写测试类AnimalTest 进行测试. 进行测试.
完整代码实现16
面向对象的Java实现封装
为什么需要多态 5-1
教员类的基础上, 在ACCP教员类的基础上,开发一个类代表总部,负责 教员类的基础上 开发一个类代表总部, 对各教员进行评估,评估内容包括: 对各教员进行评估,评估内容包括:1,教员的自我介绍 , 2,教员的授课 ,
面向对象的Java实现封装
为什么需要多态 5-2第一种解决方案
public class HQ1 { public void judge(AccpJavaTeacher2 t){ t.introduction(); 大家好!我是天津中心的张明. 大家好!我是天津中心的张明 t.giveLesson(); 启动 Visual Studio 2005 } public void judge(AccpDotNetTeacher2 t){ 知识点讲解 总结提问 t.introduction(); t.giveLesson(); } public static void main(String[] args) { 控制台输出 HQ1 hq = new HQ1(); hq.judge(new AccpJavaTeacher2("李明 北京中心")); 李明","北京中心 李明 北京中心" hq.judge(new AccpDotNetTeacher2("张明 天津中心")); 张明","天津中心 张明 天津中心" } }18
大家好!我是北京中心的李明 大家好!我是北京中心的李明. 启动 Eclipse 知识点讲解 总结提问
面向对象的Java实现封装
为什么需要多态 5-3
现在,升级 教员类, 现在,升级ACCP教员类,增加一种新类型: 教员类 增加一种新类型: AccpDBTeacher,该类型的教员专门负责教授数据库, ,该类型的教员专门负责教授数据库, 要求如下: 要求如下:属性:姓名, 属性:姓名,所属中心 方法:授课(启动Sql Server,实施理论课授课),自我介绍 ),自我介绍 方法:授课(启动 ,实施理论课授课),
同时, 同时,总部也负责对这类教员进行评估