java求租_4求租客户信息管理.ppt

此处添加页眉信息 * 此处添加页脚信息 第 * 页 * * 课堂实践 做一做 定义一个学生类Student,包含 属性: 学号: no 姓名:name 方法: 类Student带参数的构造方法:在构造方法中通过形参完成对成员变量的赋值操作。 重写父类(Object)的equals()方法:根据学号判断对象是否相同,若学号相同,则结果为true,否则结果为false. 编写一个测试类StudentTest,创建2个对象,判断他们是否相同. * 二、引入:多态polymorphism //分析下列程序执行过程 Public class Test{ public static void main(String[] args){ Test t=new Test(); Animal a=new Animal(“name”); Dog d=new Dog(“dogname”,”black”); Cat c=new Cat(“catname”,”blue”); t.f(a); t.f(d); t.f(c); } public void f(Animal a){ System.out.println(“name:”+a.name); if( a instanceof Dog){ Dog dog=(Dog)a; System.out.println(“fur:”+dog.furColor); } else if( a instanceof Cat){ Cat cat=(Cat)a; System.out.println(“eyes:”+cat.eyesColor); } } } * * 面向对象的核心—多态 多态分为静态多态 (编译时多态)和动态多态 (运行时多态) 静态多态:编译时多态通过方法重载实现,本质是用一个方法名来命名一组方法,这一组方法在参数个数、参数类型或次序上有区别,编译时编译程序进行匹配,决定调用哪一个方法。 动态多态:运行时多态通过方法重写实现,是执行期间(而非编译期间)判断所引用对象的实际类型,根据实际类型调用其相应的方法。 * * 多态的使用 运行时多态(动态多态)要满足的条件: 子类对象的方法调用必须通过一个基类类型的变量进行 调用的方法必须被声明为父类的一个成员 调用的方法必须在子类中被重写 子类和父类有相同的方法头部 子类方法的访问权限不能比基类有更多的限制 当使用一个父类变量调用一个方法时,多态会根据存储的对象的类型而不是引用变量的类型来选择要调用的方法。 因为父类的变量可以引用任何子类的对象,因此直到程序执行时才知道引用的对象类型。 程序可以在运行时自动适应不同类型的数据并进行相应的处理。 * * 运行时多态 class A {int i,j; A(int i,int j) {this.i=i; this.j=j; } int add() {return i+j; } } class B extends A { B(int i,int j) {super(i,j);} int multiply() {return 0;} } class C extends B { C(int i,int j) {super(i,j);} int muliply() {return i*j;} } class Inheritance{ public static void main(String args[]) {B x=new C(6,8); System.out.println(“i*j=”+x.mulitply()); //通过x调用子类C重重写的mulitply方法 System.out.println(“i*j=”+x.add()); //调用父类add方法,该方法未被子类重写 } } i*j=48 i+j=14 * * 小结—动态绑定(多态) 多态:不同的对象收到同一个消息可产生完全不同的效果。 多态的效果:用户发送一个通用的消息,而实现的细节则由接收对象自行决定。 多态的作用:增强了操作的透明性、可理解性和可扩展性;增强了软件的灵活性和重用性。 动态多态存在的三个必要条件: 要有继承 要有方法的重写 父类引用指向子类对象 * 课堂实践 定义类Person及其子类Employee,Employee的子类Manager,每个类定义下列成员变量: Person类:姓名、年龄 Employee类:工号、工资 Manager类:职务名称 每个类定义构造方法初始化所有变量,重写toString()方法输出所有成员变量值。 定义测试类PolyTes

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值